我有一张这样的表:
`ID |值
1 | 2
2 | 8
3 | 5
4 | 6
5 | 10
6 | 7`
我需要一个查询来拉和总和3个最高值。因此,正确的查询将提取以下内容:
3最高:
5 | 10 2 | 8 6 | 7
3个最高值的总和= 25
我觉得这应该很简单,但我很难过!谢谢你的帮助
答案 0 :(得分:1)
SELECT SUM(Value) AS SumOfTop3Values
FROM (
SELECT Value
FROM Table
ORDER BY Value DESC
LIMIT 3
) AS sub
答案 1 :(得分:1)
我认为你需要将它包装在子查询中:
SELECT SUM(value) AS total FROM (
SELECT value FROM table
ORDER BY value DESC
LIMIT 3
);
答案 2 :(得分:0)
要让MySQL返回最高3个值及其在第4行中的Sum,您可以使用(假设id
是表的主键):
SELECT id, SUM(value)
FROM
( SELECT id, value
FROM TableX
ORDER BY value DESC
LIMIT 3
) AS tmp
GROUP BY id
WITH ROLLUP ;