我有一个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函数,但似乎没有任何进展。
编辑:显然,我刚刚学习了一些内部查询。我需要保留我的原始查询,并创建一个外部查询,从结果中请求一些东西。
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)
1条答案
按热度按时间hi3rlvi21#
这就是你想要的吗?
这将返回一个犯罪记录最多的社区号码,我只是将
COUNT(*)
从select子句(您不需要它的地方)移到了ORDER BY
子句。