我在存储过程中创建了临时表,并将该表存储在该表中。请参阅下面的条目
表名 - CustomerOrderList
customerid | customer Name | address | Order id | price | quantity
---------------------------------------------------------------------
2343 | xxxx | address1| 3123 | 34 | 3
2343 | xxxx | address1| 3123 | 35 | 2
2343 | xxxx | address1| 3122 | 23 | 1
4343 | YYYY | address2| 3234 | 65 | 5
4343 | YYYY | address2| 3433 | 34 | 4
4555 | ZZZZ | address3| 3232 | 45 | 3
需要获得以下结果
customerid | customer Name | address | Order id | price | quantity
---------------------------------------------------------------------
2343 | xxxx | address1| 3123 | 34 | 3
4343 | YYYY | address2| 3234 | 65 | 5
4555 | ZZZZ | address3| 3232 | 45 | 3
请为此建议sql查询。
我使用以下查询获取每个客户的第一条记录 从@TempProductInfo中选择* group by customerid
收到以下错误
在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
请帮助我获得我的要求
答案 0 :(得分:0)
在 SQL-Server 中,您可以使用ROW_NUMBER
之类的内容:
select *
from (
select customerid, [customer Name], address, [Order id], price, quantity,
row_number() over(partition by customerid order by customerid, price) rn
from @TempProductInfo
) x
where rn = 1