我有一個看起來像這樣的資料:
$ Time : int 0 1 5 8 10 11 15 17 18 20 ...
$ NumOfFlights: int 1 6 144 91 504 15 1256 1 1 578 ...
Time col 是 24 小時制。從 0 一直到 2400
我希望得到的是:
hour | number of flight
-------------------------------------
1st | 240
2nd | 223
... | ...
24th | 122
其中第一個小時是從午夜到凌晨 1 點,第二個小時是凌晨 1 點到凌晨 2 點,依此類推,直到最后 24 點是從晚上 11 點到午夜。航班數量只是該范圍內 NumOfFlights 的總數。
我試過了:
dbGetQuery(conn,"
SELECT
flights.CRSDepTime AS Time,
COUNT(flights.CRSDepTime) AS NumOnTimeFlights
FROM flights
GROUP BY CRSDepTime/60
")
但我意識到不能以這種方式完成。我得到的結果將有 40 個時間值。
> head
Time NumOnTimeFlights
1 50 6055
2 105 2383
3 133 674
4 200 446
5 245 266
6 310 34
> tail
Time NumOnTimeFlights
35 2045 48136
36 2120 103229
37 2215 15737
38 2245 36416
39 2300 15322
40 2355 8018
uj5u.com熱心網友回復:
如果您的CRSDepTime列是整數編碼時間,HHmm那么CRSDepTime/100將提取小時。
SELECT
CRSDepTime/100 AS hh,
COUNT(flights.CRSDepTime) AS NumOnTimeFlights
FROM flights
GROUP BY CRSDepTime/100
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/451675.html
