如何从现有查询的结果中选择具有最高值的行?
问题描述:
我有一个SQL查询返回结果列表。在SQL是:如何从现有查询的结果中选择具有最高值的行?
SELECT fcategory,sum(fquantity*fprice) AS qty FROM items GROUP BY fcategory
的输出是一样的东西
----------------
category|qty
----------------
a | 10
b | 100
c | 554
基于上面的SQL语句的结果,我该如何检索与最大数量的行? (在这种情况下,我希望查询仅返回“C”)
答
您可以通过+限1得到这个添加顺序:
SELECT fcategory,sum(fquantity*fprice) AS qty FROM items GROUP BY fcategory
order by qty desc limit 1
答
为了获取最高的数量,只获得第结果由像数量排序:
SELECT * FROM items ORDER BY qty desc limit 1
在你自己的情况下,
SELECT fcategory,sum(fquantity*fprice) AS qty FROM items GROUP BY fcategory ORDER BY qty LIMIT 1