是否有可能构建一个SQL查询以仅输出n个行并汇总返回的第n + 1行的其余列。

例如,我有两个从SQL查询返回的列。第一列是名称,第二列包含计数值。名称是不同的,计数是数字。

查询应仅返回3行,如果多于3行,则应将它们全部累加到第四行,名称为“ Others”,其余行的计数累加到第四行。

请帮我。提前致谢。

(例)

姓名|值
第一-12
第二名-11
第三名-9
第四名-15
第五-13
第六-8

查询结果
姓名|值
第一-12
第二名-11
第三名-9
其他-36

最佳答案

尝试GROUP BY...WITH ROLLUP对n + 1行中的所有行计数求和。请尝试以下示例。

SELECT IFNULL(a.id, 'Other'), SUM(1) ids
FROM tableA
GROUP BY a.id WITH ROLLUP

关于mysql - MySQL仅输出n行,并将其余的分组为第n + 1行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21374302/

10-10 06:38