Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SAP HANA功能:评估_Mysql_Sql_Database_Hana - Fatal编程技术网

Mysql SAP HANA功能:评估

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表有一个包含项目列表的客户列表

我们收到了一份列有等级的物品清单。 因此,我们必须通过汇总排名来了解客户排名

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"