使用php mysql查询选择3个最高值

时间:2012-02-20 18:12:15

标签: php mysql

我有一张这样的表:

`ID |值

1 | 2

2 | 8

3 | 5

4 | 6

5 | 10

6 | 7`

我需要一个查询来拉和总和3个最高值。因此,正确的查询将提取以下内容:

3最高:

5 | 10 2 | 8 6 | 7

3个最高值的总和= 25

我觉得这应该很简单,但我很难过!谢谢你的帮助

3 个答案:

答案 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 ;