mysql - 尝试对同一个表中的一列进行两个计数编码

标签 mysql

这是我第一次使用 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/

相关文章:

mysql - 在 Django 中,尝试转储数据时得到 "Error: Unable to serialize database"?

java - 如何访问从ui到数据库的请求

php - 从 mysql 插入 html 代码图像和 href

php - Jquery日期选择器无法通过php保存在数据库中

mysql - 具有奇怪设置的多级 mysql 查询

mysql - 如何加载带有额外空行的csv文件?

mysql - 如何创建仅具有选择表结构的表

PHP 和 MySQL - PHP 如何连接到 MySQL 服务器?

mysql - 如何获取行

mysql - 在子查询中按列对最终结果进行排序