在GROUP BY子句中选择nvarchar值?

时间:2017-01-07 10:47:28

标签: sql

我有一个包含3列的表,如下所示:

CustomerId, CustomerName, ItemsCount

我希望按CustomerId分组,ItemsCount值最高,但同时选择CustomerId的相反名称,知道CustomerId不是CustomerName独特且DISTINCT,我知道这是糟糕的设计,但这是可能的,我想使用可能是TOP,或CustomerId CustomerName ItemsCount ------------------------------------------- 1 Iwan 20 2 Samir 30 2 Samir 10 ,如果可能的话。

CustomerId   CustomerName    ItemsCount
--------------------------------------------
     1       Iwan               20
     2       Samir              30

所以我想要这个结果:

SELECT CustomerId, MAX(ItemsCount) 
FROM Custmers 
GROUP BY ItemsCount

我停下来了:

main.cpp

1 个答案:

答案 0 :(得分:2)

您可以按客户的ID和名称进行分组,并查找最多的项目数。

select customerid, customername, max(itemscount) itemscount
from customers
group by customerid, customername