sql - SQL 条件计数
问题描述
我正在使用包含有关火车延误信息的数据集。数据集包含到达延迟列和离开延迟列。每个延迟列以分钟为单位。我需要计算一周中每一天的总延误次数,以确定哪一天的火车延误最多。如果延迟等于或大于 1 分钟,则需要计为延迟。如何在 SQL 中完成此操作?我已经尝试了以下代码。
select dayofweek
count(case when arrivaldelay>=1 then 1 end)+
count(case when departuredelay>=1 then 1 end)
group by dayofweek;
dayofweek arrivaldelay departuredelay
2 12 5
4 7 10
4 6 -3
6 5 4
dayofweek delays
2 1
4 1
6 1
解决方案
你可以sum()
这样使用:
select dayofweek
( sum(case when arrivaldelay >= 1 then 1 else 0 end)+
sum(case when departuredelay >= 1 then 1 else 0 end)
)
from t
group by dayofweek;
推荐阅读
- reactjs - 如何在网格中的材质 UI 中转动标签水平中心?
- python - 将列表附加为空数据框的行
- c# - 使用 SharpSnmpLib BulkWalk 方法执行 SNMP walk
- python-2.7 - 如何将 tkinter 输入框放在同一行?
- gatsby - 如何启用 GATSBY_CONTENTFUL_OFFLINE=true 的标志?
- python - 增加速度numpy.loadtxt?
- python - ValueError:使用 tensorflow 训练 CNN 时使用序列设置数组元素
- javascript - 为什么我的控制器中的保存功能不起作用?
- c# - 使用自定义配置提供程序解密
- python-3.x - 字符串操作混乱?ELI5