mysql 查询邻近的两条记录并合并成一条

sql编写场景,

有个车辆进出表,需查出车辆进出时间

id carNo time flag
1  车001 2021-12-16 14:00:05 1
2  车001 2021-12-16 16:00:06 0
3  车002 2021-12-16 15:00:05 1
4  车002 2021-12-16 17:00:07 0
5  车003 2021-12-16 15:00:05 1
6  车003 2021-12-16 16:00:08 0

 

 

 

 

 

 

 

 

希望查询结果

carNo enter_time out_time
车001 2021-12-16 14:00:05 2021-12-16 16:00:06
车002 2021-12-16 15:00:05 2021-12-16 17:00:07
车003 2021-12-16 15:00:05 2021-12-16 16:00:08

 

 

 

 

 

SELECT
	t1.carNo,
	t1.time AS enter_time,
	(
		SELECT
			t2.time 
		FROM
			car t2 
		WHERE
			t2.flag = '0' 
			AND t1.carNo = t2.carNo 
			AND t2.time > t1.time 
			LIMIT 1 
	) AS out_time 
FROM
	car t1 
WHERE
	t1.flag = '1';

 具体SQL为:

select t1.carNo, t1.time,

上一篇:NULL在oracle和mysql索引上的区别


下一篇:执行引擎