[英]SAP HANA function: Evaluate
客戶表包含具有項目列表的客戶列表。
我們已經收到了具有排名的項目清單。 因此,我們必須通過匯總排名來找出客戶排名。
Customer ID| Items | rank 1 | 1 | 1 1 | 1 | 1 1 | 2 | 4 1 | 2 | 4 1 | 3 | 1
期望的輸出
CustomerID | rank 1 | 6
對於每個客戶,我總是很困惑。 任何幫助深表感謝!
我要添加幾個標簽,如果它們不相關,請原諒!
對於HANA,查詢將如下所示(帶有一些測試數據):
create column table "CustomerItems"
("CustomerID" nvarchar(10),
"Items" nvarchar(10),
"CRank" integer
);
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('1', '1', 1 );
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('1', '1', 1 );
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('1', '2', 4 );
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('1', '2', 4 );
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('2', '1', 3 );
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('2', '1', 3 );
insert into "CustomerItems" ("CustomerID", "Items", "CRank") values ('2', '3', 5 );
select "CustomerID", Sum(distinct("CRank"))
from "CustomerItems"
group by "CustomerID"
order by "CustomerID"
我不會將“ Rank”用作列名。 這是一個保留字 (窗口功能),可能導致混亂。
對於MySQL,只需將create column table
替換為create table
並用反引號將雙引號引起來。
如果這回答了您的問題,我還將推薦一些有關SQL的入門書籍或在線教程。 如果沒有,請提供更多信息,創建表語句等。
注釋后編輯並更改測試數據:
如果要總結“客戶/項目”的不同組合的“等級”,請嘗試使用此方法(對於MySQL,請再次使用反引號代替雙引號,並且必須給子查詢提供自己的別名):
select "CustomerID", sum("CRank")
from
(
select distinct "CustomerID", "Items", "CRank"
from "CustomerItems"
)
group by "CustomerID"
order by "CustomerID"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.