[英]SQL - return coumn value based on max column count
我有一個 SQL 查詢,我可以在其中查找列的最大出現次數。 它可以很好地滿足我的需要,但現在需要對此進行擴展以僅返回列的名稱。
可能有一種方法可以改進我的原始查詢,但我一直無法解決。
select COMMUNITY_AREA_NUMBER, count(*) as CRIMES
from CHICAGO_CRIME_DATA
group by COMMUNITY_AREA_NUMBER
order by CRIMES desc
limit 1
我的基本問題是,如何重寫它以僅返回 COMMUNITY_AREA_NUMBER?
我試圖重組為:
select COMMUNITY_AREA_NUMBER from CHICAGO_CRIME_DATA
where count(*) as CRIMES group by COMMUNITY_AREA_NUMBER order by CRIMES desc limit 1
我也試過合並一個 MAX function,但我似乎沒有得到任何結果。
編輯:顯然我剛剛學到了一些內部查詢。 我需要保留我的原始查詢並創建一個從該結果中請求某些內容的外部查詢。
select COMMUNITY_AREA_NUMBER from
(select COMMUNITY_AREA_NUMBER, count(*) as CRIMES
from CHICAGO_CRIME_DATA
group by COMMUNITY_AREA_NUMBER
order by CRIMES desc
limit 1)
這是你想要的嗎?
SELECT COMMUNITY_AREA_NUMBER
FROM CHICAGO_CRIME_DATA
GROUP BY COMMUNITY_AREA_NUMBER
ORDER BY COUNT(*) DESC
LIMIT 1;
這將返回具有最多犯罪記錄的單個社區號碼。 我只是將COUNT(*)
從您不需要的 select 子句移動到ORDER BY
子句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.