如何使用 Microsoft Access 中的 SQL 查找每年犯罪率最高的月份以及该年该月的犯罪数量?
我尝试了这个,希望它能给我我想要的结果。
SELECT COUNT(*) AS CRIME_COUNT, CRIME_MONTH, CRIME_YEAR
FROM CRIMEDATA
GROUP BY CRIME_YEAR, [DISTINCT CRIME_MONTH], CRIME_MONTH
ORDER BY COUNT(*) DESC
它提示我输入
[distinct crime_month]
的参数值,所以我只输入了1,然后我得到了一个表格,其中的行按犯罪计数降序排列以及相应的月份和年份,但它显示了每年的每个月。不使用[distinct crime_month]
我得到相同的结果。我怎样才能得到我想要的结果?
构建聚合查询并使用该查询作为 TOP N 的源。
考虑:
查询1
SELECT COUNT(*) AS CRIME_COUNT, CRIME_MONTH, CRIME_YEAR
FROM CRIMEDATA
GROUP BY CRIME_YEAR, CRIME_MONTH;
查询2
SELECT Query1.* FROM Query1 WHERE CRIME_MONTH IN(
SELECT TOP 1 CRIME_MONTH FROM Query1 AS Dupe
WHERE Dupe.CRIME_YEAR = Query1.CRIME_YEAR
ORDER BY Dupe.CRIME_COUNT DESC)
ORDER BY CRIME_YEAR, CRIME_MONTH;
请注意,这不会消除绑定数据。将检索一年中具有相同 TOP 计数的月份。