34,668
社区成员
发帖
与我相关
我的任务
分享
問題:我用 select cno,item_1 from statist 查詢出下列資料
Cno item_1
0260000266565 1
0260000266565 2
0260000660967 1
0260000663036 1
0260000664378 1
0260000664590 1
0260000664590 2
但是我想得出下列結果. 例如0260000266565 有兩筆 item_1 記錄, 兩筆都是1, 但第二筆會加總為2. 我想留下加總的那筆記錄, 該怎麼改語法?
Cno item_1
0260000266565 2
0260000660967 1
0260000663036 1
0260000664378 1
0260000664590 2
select
cno
,item_1
from
(
select
cno
,item_1
,排序列=ROW_NUMBER()over(order by item_1 desc)
from statist
)T where 1=1 and 排序列=1
但你说item_1赋值逻辑是count(*),那以上sql也能等同于以下sql
select
cno
,item_1 = max(item_1)
from statist
select cno,sum(item_1) as item_1 from statist group by cno