分組查詢24小時之內的實時車流量數據

以當前時間爲節點,查詢前24小時之內的實時車流量進出數據。

		SELECT
			a. HOUR HOUR,
			ifnull(b.count, 0)enterVehicleNum,
			ifnull(c.count, 0)leaveVehicleNum
		FROM
			( SELECT DATE_FORMAT( DATE_ADD( date_sub(NOW(), INTERVAL 1 DAY), INTERVAL xc - 1 HOUR ), '%Y-%m-%d %H' )AS HOUR
				FROM
					( SELECT @xi :=@xi + 1 AS xc FROM
							( SELECT 1 UNION SELECT 2 UNION SELECT 3 )xc1,
							( SELECT 1 UNION SELECT 2 UNION SELECT 3 )xc2,
							( SELECT 1 UNION SELECT 2 UNION SELECT 3 )xc3,
							(SELECT @xi := 0)xc0
					)xcxc
			)a
		LEFT JOIN(
			SELECT
				date_format(in_time, '%Y-%m-%d %H')HOUR,
				count(in_time)count
			FROM
				t_ic_vehicle_record
			WHERE
				delete_flag = '0'
			AND date_format(in_time, '%Y-%m-%d %H')>= date_sub(NOW(), INTERVAL 1 DAY)
			GROUP BY
				date_format(in_time, '%Y-%m-%d %H'),
				HOUR
		)b ON a. HOUR = b. HOUR
		LEFT JOIN(
			SELECT
				date_format(pass_time, '%Y-%m-%d %H')HOUR,
				count(pass_time)count
			FROM
				t_ic_vehicle_record
			WHERE
				delete_flag = '0'
			AND date_format(pass_time, '%Y-%m-%d %H')>= date_sub(NOW(), INTERVAL 1 DAY)
			GROUP BY
				date_format(pass_time, '%Y-%m-%d %H'),
				HOUR
		)c ON a. HOUR = c. HOUR
		ORDER BY
			HOUR

關鍵點就是先把24小時這個表製作出來,其他的在查

打印結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章