sql - 使用计数案例
问题描述
所以我只是在离开 SQL 一段时间后重新熟悉了它,我正在使用 Mode Analytics 示例数据仓库,他们在其中有一个 2014 年 SF 警察呼叫的数据集。
作为参考,它的设置如下:
incident_num, category, descript, day_of_week, date, time, pd_district, Resolution, address, ID
我要做的是计算一个类别的事件总数,以及所有被捕者的新列。理想情况下看起来像这样
Category, Total_Incidents, Arrested
-------------------------------------
Battery 10 4
Murder 200 5
之类的。。
到目前为止,我一直在尝试这个:
SELECT category, COUNT (Resolution) AS Total_Incidents, (
Select COUNT (resolution)
from tutorial.sf_crime_incidents_2014_01
where Resolution like '%ARREST%') AS Arrested
from tutorial.sf_crime_incidents_2014_01
group by 1
order by 2 desc
这会正确返回事件总数,但对于 Arrested,它会不断打印出 9014 Arrest
知道我做错了什么吗?
解决方案
子查询不相关。它只是选择所有行的计数。添加一个条件,检查类别是否等于外部查询的类别。
SELECT o.category,
count(o.resolution) total_incidents,
(SELECT count(i.resolution)
FROM tutorial.sf_crime_incidents_2014_01 i
WHERE i.resolution LIKE '%ARREST%'
AND i.category = o.category) arrested
FROM tutorial.sf_crime_incidents_2014_01 o
GROUP BY 1
推荐阅读
- firebase - 如何将上传到 Google Firebase 的图像用作执行 Google Cloud 功能的触发器?
- nsis - 有没有办法杀死与应用程序相关的所有流程实例,而不管用户具体使用 NSIS 是什么?
- python - 将字符串列表转换为同义词列表
- c - SIM800 孤独地关闭 FTP GET 会话
- java - 如何更改 JSON 的值?
- c# - C# 创建文件后无法立即访问文件
- python - 在python中将数据覆盖到JSON数据结构中
- java - 文件以错误的编码加载:UTF-8
- recaptcha-v3 - google reCAPTCHA v3 中的白名单
- php - 如果表不存在 pdo,则创建错误消息