我有一个很长的名单,看起来roughlt像下面(列名和匿名数据)返回最小行每个ID SQL
ID | ID2 | Value
1 | 5 | 900
1 | 7 | 400
2 | 2 | 100
2 | 8 | 800
2 | 2 | 200
3 | 4 | 100
3 | 5 | 300
4 | 8 | 750
4 | 5 | 900
什么,我追求的是让每列1行的能力“ID”,其具有最低ID2的值的总和。
举个例子,上表中会变成:
ID | ID2 | Value
1 | 5 | 900
2 | 2 | 300
3 | 4 | 100
4 | 5 | 900
我尝试了好几种脚本变化,以这个没有成功。这是我目前清理代码:
SELECT res.id
, min(id2) as rdk
,sum(value)
FROM x as res
left join y as clai
on res.id = clai.id
left join z as cal
on clai.col99 = cal.col99
group by
res.id
然而总和在增值了一切的“ID”,不只是最低的“ID2”?
任何帮助表示赞赏!
为什么'2 | 2 | 300'?它不应该是'2 | 2 | 100'? –
@KobyDouek这将是300,因为有两个ID = 2的条目和一个ID2 = 2,所以它将两个值相加在一起,如果有意义的话? –