繁体   English   中英

Oracle SQL返回相同最大值的行

[英]Oracle SQL returning rows same max value

这是我的桌子

 ------------------
|__fruit__|_color_|
| banana  | yellow|
| lemon   | yellow|
| apple   |  red  |
| cherry  |  red  |
| lime    | green |    

查询的输出应为:

yellow, banana
yellow, lemon
red, apple
red, cherry

我想退还最多颜色的水果。 由于红色和黄色都具有相同的最大颜色量,因此我无法同时获得它们。 我尝试使用distinct关键字,以及尝试使用count来使用不同的聚合函数,但只能返回一种颜色。

您必须group by颜色group by并将其join到原始表中才能获得所需的结果。

小提琴

with cnts as (select color,count(*) as cnt
from tablename 
group by color)
, maxcnt as (select max(cnt) as mxcnt from cnts)
select t.color,t.fruit
from cnts c join maxcnt m on c.cnt = m.mxcnt
join tablename t on t.color = c.color

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM