我有以下数据。
id val
smith 20
smith 10
smith 8
smith 30
jones 40
jones 10
jones 30
jones 30
然后我想要的是按 id 分组并将每个 id 的两个最大值相加。
smith 50 from 30+20
jones 70 from 40+30
谢谢。
我有以下数据。
id val
smith 20
smith 10
smith 8
smith 30
jones 40
jones 10
jones 30
jones 30
然后我想要的是按 id 分组并将每个 id 的两个最大值相加。
smith 50 from 30+20
jones 70 from 40+30
谢谢。
如果您不担心仅获得每个 ID 的前两个值的总和,您会想要这样:
SELECT SUM(val) FROM table_name GROUP BY id ORDER BY id ASC
但是,“我如何获得组内的前 N 个值”问题是重复的,在这里回答:在 GROUP BY 中使用 LIMIT 来获得每个组的 N 个结果?