我有一個這樣的 sql 表
occ_val time
0 2/1/2022 3:35:08 pm
1 2/1/2022 3:59:08 pm
2 2/1/2022 4:55:08 pm
3 2/1/2022 5:32:08 pm
2 3/1/2022 4:43:08 pm
3 4/1/2022 2:15:08 pm
如何按每小時排序以獲得此資訊:
time occ_val
2:00:00 pm 3
3:00:00 pm 1
4:00:00 pm 4
5:00:00 pm 3
非常感謝您的幫助:D
uj5u.com熱心網友回復:
SELECT * from YourTableName
ORDER BY (timeCol - FLOOR(CAST(timeCol AS float)) ASC
uj5u.com熱心網友回復:
這是一個 MySQL 解決方案:
select DATE_FORMAT(min( time), '%h:00'),sum(occ_val) from tbl group by hours( time)
見https://www.db-fiddle.com/f/czudbp5zug6HxX4TFV26GT/0
uj5u.com熱心網友回復:
我不太確定這是否是最有效的解決方案,但我是這樣做的:
我從中得到了結果
SELECT CAST(CAST(CAST(CAST(time as float)*24 as bigint) as float)/24 as datetime) as time, AVG(occ_val) as occ_val FROM Room_occupation GROUP BY CAST(CAST(CAST(CAST(time as float)*24 as bigint) as float)/24 as datetime) order by time
把它放在另一個名為 peakHour 的表中
INSERT INTO PeakHour (Hour, Total) Values (@time, @val)
然后做了這個
Select count(*) occ_val, Hour from PeakHour group by Hour
我是 SQL 菜鳥:/
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403160.html
標籤:
下一篇:如何找到最暢銷的產品?
