可能重复:
mysql: Using LIMIT within GROUP BY to get N results per group?
我有以下数据。
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
感谢。
答案 0 :(得分:2)
如果您不担心只获得每个ID的前两个值的总和,您会想要这样:
SELECT SUM(val) FROM table_name GROUP BY id ORDER BY id ASC
但是,“我如何获得组内的前N个值”问题是重复的,在此处回答:Using LIMIT within GROUP BY to get N results per group?