假设我有一个如下表:
COL_1 COUNT_COL_1
-------------------- ---------------
rec_1 1
rec_2 2
rec_3 5
rec_4 3
rec_5 2
rec_6 5
现在我的要求是检查COUNT_COL_1中的最大值并获取COL_1中的相应值。如果COL_1中的多个值满足这个条件(在这种情况下'rec_3'和'rec_6'都有最大计数5),那么我必须选择COL_1中的第一个值(所以在这种情况下,我应该获取'rec_3',因为它是'rec_3'和'rec_5'中的第一个)。我怎样才能做到这一点?
提前致谢。
答案 0 :(得分:1)
SELECT * FROM
( SELECT COL_1
FROM test
ORDER BY COUNT_COL_1 desc,COL_1 asc
)z
WHERE ROWNUM=1
答案 1 :(得分:0)
你需要一个由count(降序)和打破平局值排序的内部查询;然后是一个只选择第一个值的外部查询:
select col_1 from (
select col_1, count(*)
from t42
group by col_1
order by count(*) desc, col_1
)
where rownum = 1;
COL_1
----------
rec_3