【发布时间】:2012-04-10 07:05:55
【问题描述】:
我有一张桌子,上面摆满了这些物品的物品和价格。我想获取价格最高的 3 件商品的总和。
我想也许SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3 但这似乎没有奏效。这可能吗?谢谢!
【问题讨论】:
我有一张桌子,上面摆满了这些物品的物品和价格。我想获取价格最高的 3 件商品的总和。
我想也许SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3 但这似乎没有奏效。这可能吗?谢谢!
【问题讨论】:
我没有测试过这个,我只是把它写在我的记忆中。您可以尝试以下方法:
SELECT * AS total FROM items ORDER BY price DESC
SELECT SUM(price) FROM total LIMIT 3;
编辑:我很慢
【讨论】:
使用子查询或类似的东西。只是一个想法,因为我没有测试过实际的查询。
SELECT SUM(items.price) from (select price FROM items ORDER BY items.price LIMIT 3)
【讨论】:
SUM(items.price) 时似乎查询失败,但忽略了表格,即。 SUM(price) 查询有效
LIMIT 影响查询返回的行数,SUM 只返回一个。基于this thread,您可能想尝试:
SELECT sum(price)
FROM (SELECT price
FROM items
ORDER BY price DESC
LIMIT 3
) AS subquery;
【讨论】:
只需使用子选择:
select sum(prices) from (SELECT SUM(items.price) FROM items ORDER BY items.price LIMIT 3) as prices
【讨论】:
select sum(price) from (select items.price from items order by items.price desc limit 3) as subt;
【讨论】: