这是我第一次使用 SQL - 我正在尝试弄清楚如何从 Uber 数据集中确定两个时间范围“早高峰”(即 '06:30:00 之间)的乘车总数' 和 '09:30:00' 以及 '16:30:00' 和 '19:30:00' 之间的“晚高峰”。
我在一张表中有 6 列 - record_id、Pickup_date、Pickup_time、lat、lon 和 base --- 但只需要返回两个高峰时间的总计数...到目前为止我早上的计数着急的是:
选择 COUNT(*) 个 AS Total_AM_Rush_Hour_Pickups
来自 uber_data_sep2014
按取件时间分组
取车时间介于“06:30:00”和“09:30:00”之间;
但它返回具有相同值的三行...并且我不知道如何在第二部分中添加 - 请帮忙!
最佳答案
您是否尝试过使用 CASE 语句创建两个不同的计数器?
SELECT SUM(CASE WHEN Pickup_time BETWEEN '06:30:00' AND '09:30:00' THEN 1 ELSE 0 END) AS MorningCount,
SUM(CASE WHEN Pickup_time BETWEEN '16:30:00' AND '19:30:00' THEN 1 ELSE 0 END) AS EveningCount
FROM uber_data_sep2014
关于mysql - 尝试对同一个表中的一列进行两个计数编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309627/