如何基于Veh_No与Date_time列按日期统计车辆出行次数
按车辆及对应日期统计出行次数并添加字段
需求说明
现有数据表包含Veh_No(车辆编号)和Date_time(日期时间)两列,需完成:
- 统计每辆车在对应日期的出行总次数
- 为每条原始记录追加该车辆当日的出行次数字段
输入数据表
| Veh_No | Date_time |
|---|---|
| AP3029 | 2022-10-18 13:11:20 |
| AP3029 | 2022-10-18 05:51:40 |
| MP5029 | 2022-10-18 14:59:46 |
| UP3040 | 2022-09-18 20:51:40 |
| AP3029 | 2022-10-18 23:34:44 |
| UP3040 | 2022-10-18 23:51:40 |
期望输出数据表
| Veh_No | Date_time | count |
|---|---|---|
| AP3029 | 2022-10-18 13:11:20 | 3 |
| AP3029 | 2022-10-18 05:51:40 | 3 |
| MP5029 | 2022-10-18 14:59:46 | 1 |
| UP3040 | 2022-09-18 20:51:40 | 1 |
| AP3029 | 2022-10-18 23:34:44 | 3 |
| UP3040 | 2022-10-18 23:51:40 | 1 |
解决方案(SQL实现)
用窗口函数结合分组统计,直接为每条记录追加当日出行次数:
SELECT Veh_No, Date_time, COUNT(*) OVER (PARTITION BY Veh_No, DATE(Date_time)) AS count FROM your_table_name;
代码说明
DATE(Date_time):提取日期时间字段的日期部分,确保按自然日分组PARTITION BY Veh_No, DATE(Date_time):将数据按「车辆编号+日期」维度分组COUNT(*) OVER (...):统计每个分组内的记录数,即该车辆当日出行次数,并将结果作为count字段返回给每条原始记录
内容的提问来源于stack exchange,提问作者Tulips
相关产品推荐
相关产品推荐

