在 MySQL 中,如何找到分组在特定列上的 N 个最大值的总和? [复制]
Posted
技术标签:
【中文标题】在 MySQL 中,如何找到分组在特定列上的 N 个最大值的总和? [复制]【英文标题】:In MySQL, how can I find the sum of the N largest values grouped on a particular column? [duplicate] 【发布时间】:2012-10-22 09:20:57 【问题描述】:可能重复: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
谢谢。
【问题讨论】:
【参考方案1】:如果您不担心只获得每个 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?
【讨论】:
以上是关于在 MySQL 中,如何找到分组在特定列上的 N 个最大值的总和? [复制]的主要内容,如果未能解决你的问题,请参考以下文章