SQL查询问题,查找结果的最大值
我正在尝试创建一个查询,以查找具有最高值的单行。我现在正在Oracle 10G环境中工作 我首先创建了这个查询,它列出了数量SQL查询问题,查找结果的最大值,sql,oracle,oracle10g,aggregate-functions,Sql,Oracle,Oracle10g,Aggregate Functions,我正在尝试创建一个查询,以查找具有最高值的单行。我现在正在Oracle 10G环境中工作 我首先创建了这个查询,它列出了数量 SELECT aname, sum(rhowmuch * rhowoften) AS Quantity FROM ration GROUP BY ration.aname; ANAME QUANTITY ---------- ---------- BLACKIE 16 CONRAD 29.4 MEO
SELECT aname, sum(rhowmuch * rhowoften) AS Quantity
FROM ration
GROUP BY ration.aname;
ANAME QUANTITY
---------- ----------
BLACKIE 16
CONRAD 29.4
MEO 28
MOLLY 37.7
CHUBBLES 75
BOSS 63.7
JEFFREY 29.4
FANNY 56
SUZY 21
ZEO 17.5
MORRIS 21
ANAME QUANTITY
---------- ----------
SALLY 21
LEO 40
SAM 28
14 rows selected.
但是我想不出一种方法来创建一个查询,从中获取最大数量。有什么建议吗?使用:
SELECT aname, sum(rhowmuch * rhowoften) AS Quantity
FROM ration
GROUP BY ration.aname
order by Quantity desc
limit 1
有关使用ROWNUM的更多信息,请参阅:或
如果使用MSSQL,请选择TOP 1…
。我想说的是,代码可能会根据平台的不同而变化。我的答案是MySQL。是的,我意识到我之前没有指定我在哪个平台。Oracle 10G似乎非常挑剔。很抱歉,我之前没有指定Oracle 10G
SELECT x.aname, x.quantity
FROM (SELECT r.name, SUM(r.rhowmuch + r.rhowoften) AS quantity
FROM RATION r
GROUP BY r.aname
ORDER BY quantity DESC) x
WHERE ROWNUM = 1