Mysql SAP HANA功能:评估
Customer表有一个包含项目列表的客户列表 我们收到了一份列有等级的物品清单。 因此,我们必须通过汇总排名来了解客户排名Mysql SAP HANA功能:评估,mysql,sql,database,hana,Mysql,Sql,Database,Hana,Customer表有一个包含项目列表的客户列表 我们收到了一份列有等级的物品清单。 因此,我们必须通过汇总排名来了解客户排名 Customer ID | Items | rank 1 | 1 | 1 1 | 1 | 1 1 | 2 | 4 1 | 2 | 4 1 | 3 | 1 期望输出 CustomerID |等级 1 | 6 当涉及到每个客户时,我总是感到困惑。非常感谢您的帮助 我正在添加一些
Customer ID | Items | rank
1 | 1 | 1
1 | 1 | 1
1 | 2 | 4
1 | 2 | 4
1 | 3 | 1
期望输出
CustomerID |等级
1 | 6
当涉及到每个客户时,我总是感到困惑。非常感谢您的帮助
我正在添加一些标签,如果它们不相关,请原谅 对于HANA,查询如下所示(带有一些测试数据): 我不会用“Rank”作为列名。这是一个(窗口功能)可能导致混淆的问题 对于MySQL,只需将
create column table
替换为create table
,并用反勾号替换双引号
如果这回答了你的问题,我也会推荐一些关于SQL的介绍性书籍或在线教程。
如果没有,请提供更多信息,创建表语句等
注释后编辑并更改测试数据:
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"
如果您想对客户/项目的不同组合的“等级”进行汇总,请尝试此项(对于MySQL,请再次使用倒勾而不是双引号,并且您必须为子查询提供自己的别名):
嗨,克里斯托夫,谢谢你的回答。你已经回答了这个问题,但是当有一个额外的物品与其他物品具有相同的等级时,这并不令人满意。“我已经更新了这个问题的表。”我会明确地考虑你的介绍一本入门书的建议。
select "CustomerID", sum("CRank")
from
(
select distinct "CustomerID", "Items", "CRank"
from "CustomerItems"
)
group by "CustomerID"
order by "CustomerID"