我有一张桌子,上面写着所有物品的价格和价格。我想抓住3个价格最高的商品的总和。
我想也许SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3
但似乎没有做到这一点。这可能吗?谢谢!
答案 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;
编辑:我很慢