【MySQL】查询一段时间内每天固定时段出现超过一次的数据

数据模拟(table)

车辆通行记录(car_traffic_record)

id(主键ID) car_number(车牌号) scan_time(扫码时间) type(类型 1:进,2:出)
1 粤VABC12 2023-12-17 07:34:59 1
2 粤VABC12 2023-12-17 08:21:34 2
3 粤VBCD23 2023-12-18 07:45:35 1
4 粤VBCD23 2023-12-18 09:54:57 2
5 粤VABC12 2023-12-19 08:33:46 1
6 粤VABC12 2023-12-19 09:45:58 2

目的

查询 2023年12月17号到19号车辆在7点到10点内出现进和出的车辆以及对应日期

car_number scan_date
粤VABC12 2023-12-17
粤VABC12 2023-12-19
粤VBCD23 2023-12-18

SQL 编写

对于进和出SQL没写逻辑,主要提供一个思路

SELECT car_number,
	   DATE(scan_time) AS scan_date
FROM car_traffic_record
WHERE scan_time >= '2023-12-17'
  AND scan_time < '2023-12-20'
  AND HOUR(scan_time) IN (7, 8, 9)
GROUP BY car_number, DATE(scan_time)
HAVING COUNT(*) > 1

你可能感兴趣的:(#,MySQL,mysql)