[英]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.