sql - 包括零计数的 SQL 计数查询
问题描述
我有一个包含列的表:fips、hitYear、hit。主键是 (fips, hitYear)。对于每一年,每个县 fips 代码出现一次,命中值为 0 或 1。
我将如何开发一个 SQL 查询来获取一个县在一年范围内的命中值为 1 的次数,包括计数为零的县?输出将包含以下列:fips 和 count。
我目前的查询是
SELECT fips, Count(*) FROM (SELECT * from countyHits WHERE hit = 1) GROUP BY fips
但这不包括计数为零的县。
解决方案
我认为您可以使用条件聚合来做到这一点:
SELECT fips,
SUM(CASE WHEN hit = 1 AND hityear = 2018 THEN 1 ELSE 0 END) as hits_2018
FROM countyHits
GROUP BY fips
推荐阅读
- amazon-web-services - AWS SNS 主题的 AWS SQS 订阅的访问控制
- json - 读取原始输入行并输出单个数组
- android - 如何在android中检测应用订阅中的用户取消或续订?
- c# - 初学者 c# - Windows 10、WPF、资源字典、上下文菜单和任务栏图标 - MenuItem 可见性问题
- kubernetes - 为什么我不能在 openshift 的 DeploymentConfig 中使用我所有的 limits.memory 和 requests.memory?
- html - 引导程序中 div 的响应列表
- c - 如何在c中将输出输入到数组中
- javascript - FirebaseError:无法使用空路径调用函数 CollectionReference.doc()
- typescript - 打字稿,对象的类型为“未知”
- python-3.x - 仅从导入的模块中捕获回溯