我試圖src_cd在我的內部查詢中選擇具有最大計數的那個:
select count(*), src_cd
from innertable1
group by src_cd
上述查詢的結果是:
| cnt | src_cd |
|---|---|
| 100 | CCC |
| 90 | BBB |
| 80 | AAA |
從上面的結果我想做一個
select *
from table1
where src_cd having max(cnt of src_cd from innertable1)
我也想用來row_number()選擇第二個最大值,第三個最大值等等
uj5u.com熱心網友回復:
您可以使用limit 1with order by 來選擇最大的。
select count(*), src_cd
from innertable1
group by src_cd
order by 1 desc
limit 1
Order by 將按計數的降序排序。限制將拿起第一行。
您還可以使用子查詢來計算下一個最大行數row_number()。
select src_cd as second_max
from (
select src_cd, row_number() over( order by cnt desc) as rownum
from (
select count(*) cnt, src_cd
from innertable1
group by src_cd
)rs
) rs2
where rownum=2 -- second MAX
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/347460.html
