2017-02-18 49 views
0

這是我第一次使用SQL--我試圖弄清楚如何確定兩個時間幀內來自Uber數據集的遊樂設施總數「早上高峯時間「,即'06:30:00'和'09:30:00'之間的時間,以及'16:30:00'和'19:30:00'之間的」晚上高峯時間「。試圖從同一個表中的一列中編碼兩個計數

我在一個表中有6列 - record_id,Pickup_date,Pickup_time,lat,lon,& base ---但只需要返回兩個高峯時間的總計數......到目前爲止,早上上班是:

SELECT COUNT(*)AS Total_AM_Rush_Hour_Pickups
FROM uber_data_sep2014 GROUP BY Pickup_time HAVING Pickup_time BETWEEN '06:30:00和09:30:00' ;

但它返回三行具有相同的值...我無法弄清楚如何添加第二部分 - 請幫助!

+0

刪除組。如果你想在這個時間框架內統計所有時間,你不想按照特定的時間對它們進行分組。 –

+0

我想統計所有 - 但是在兩個時間範圍內 - 上午6:30至9:30和下午4:30至7:30 –

回答

0

您是否嘗試過使用CASE語句創建兩個不同的計數器?

SELECT SUM(CASE WHEN Pickup_time BETWEEN '06:30:00' AND '09:30:00' THEN 1 ELSE 0 END) AS MorningCount, 
SUM(CASE WHEN Pickup_time BETWEEN '16:30:00' AND '19:30:00' THEN 1 ELSE 0 END) AS EveningCount 
FROM uber_data_sep2014 
+0

我還沒有學過CASE語句,但我可以試試看,並看到 –

+0

不幸的是,輸出顯示這兩個時間段的總數完全相同 - 這是不可能的。 –

+0

我需要仔細看看Pickup_time列中的數據是什麼樣的。也許在時間轉換中有一些東西會使其始終返回「真實」。知道數據的外觀可能也回答我的好奇心,爲什麼原始查詢只返回三行。 – Mary

相關問題