[英]show only top 2 values in group
The current code I have finds the average and shows all 4. I am trying to trim it down to holy show the information for the top 2 highest average, 我目前的代码找到了平均值,并显示了全部4个。我试图将其缩小以圣洁地显示前2个最高平均值的信息,
SELECT BRANCHSUBURB, AVG(SESSIONPRICE)
FROM BRANCH NATURAL JOIN SESSIONS
GROUP BY BRANCHSUBURB
ORDER BY BRANCHSUBURB;
ie should only show manly and cronulla click image click me 即应该只显示男子气概和cronulla点击图片点击我
Just use order by
and limit
: 只需使用order by
和limit
:
SELECT BRANCHSUBURB, AVG(SESSIONPRICE)
FROM BRANCH NATURAL JOIN SESSIONS
GROUP BY BRANCHSUBURB
ORDER BY AVG(SESSIONPRICE) DESC
LIMIT 2;
Note: I strongly advise you not to use NATURAL JOIN
. 注意:我强烈建议您不要使用NATURAL JOIN
。 In my opinion, it is a bug waiting to happen. 我认为,这是一个等待发生的错误。 The NATURAL JOIN
works based on any columns that have the same names in the two tables -- it doesn't even use declared foreign key relationships. NATURAL JOIN
基于两个表中具有相同名称的任何列工作-甚至不使用声明的外键关系。 It is much better to use a regular join with a USING
clause. 最好将常规联接与USING
子句一起USING
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.