MySQL使用LIMIT选择结果的SUM

时间:2012-03-26 18:46:41

标签: mysql sum

我有一张桌子,上面写着所有物品的价格和价格。我想抓住3个价格最高的商品的总和。

我想也许SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3但似乎没有做到这一点。这可能吗?谢谢!

5 个答案:

答案 0 :(得分:34)

select sum(price) from (select items.price from items order by items.price desc limit 3) as subt;

答案 1 :(得分:6)

LIMIT会影响查询返回的行数,而SUM只会返回一行。基于this thread您可能想尝试:

SELECT sum(price) 
FROM (SELECT price
      FROM items
      ORDER BY price DESC
      LIMIT 3
) AS subquery;

答案 2 :(得分:1)

只需使用子选择:

select sum(prices) from (SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3) as prices

答案 3 :(得分:1)

使用子查询或类似的东西。只是一个想法,因为我还没有测试过实际的查询。

SELECT SUM(items.price) from (select price FROM items ORDER BY items.price LIMIT 3)

答案 4 :(得分:-1)

我没有测试过这个,我只是把它写在我的记忆中。你可以尝试类似的东西:

SELECT * AS total FROM items ORDER BY price DESC
SELECT SUM(price) FROM total LIMIT 3;

编辑:我很慢