0
A
回答
2
你可以這樣做:
SELECT Item,
SUM(CASE WHEN CAST(DateTimeCol AS Time) >= '08:00:00' AND CAST(DateTimeCol AS Time) < '10:00:00' THEN 1 ELSE 0 END) AS [8AM-10AM],
SUM(CASE WHEN CAST(DateTimeCol AS Time) >= '10:00:00' AND CAST(DateTimeCol AS Time) < '12:00:00' THEN 1 ELSE 0 END) AS [8AM-10AM],
SUM(CASE WHEN CAST(DateTimeCol AS Time) >= '12:00:00' AND CAST(DateTimeCol AS Time) < '14:00:00' THEN 1 ELSE 0 END) AS [10AM-12AM],
SUM(CASE WHEN CAST(DateTimeCol AS Time) >= '14:00:00' AND CAST(DateTimeCol AS Time) < '16:00:00' THEN 1 ELSE 0 END) AS [12PM-2PM],
SUM(CASE WHEN CAST(DateTimeCol AS Time) >= '16:00:00' THEN 1 ELSE 0 END) AS [>4PM]
FROM table1
GROUP BY Item;
抽查結果:
| Item | 8AM-10AM | 10AM-12AM | 12PM-2PM | 2AM-4PM | >4PM |
|--------|----------|-----------|----------|---------|------|
| Item 1 | 2 | 4 | 1 | 0 | 0 |
| Item 2 | 0 | 0 | 1 | 2 | 2 |
更新:
您可以使用臨時表PIVOT
表運營商所有的時間範圍爲:
SELECT *
FROM
(
SELECT
Item,
Alias
FROM Table1
INNER JOIN Ranges ON CAST(DateTimeCol AS TIME) >= [Start]
AND CAST(DateTimeCol AS TIME) < [End]
) AS t
PIVOT
(
COUNT(Alias)
FOR Alias IN([8AM-10AM], [10AM-12AM], [12PM-2PM],[2PM-4PM], [>4PM])
) AS p;
+1
@MartinSmith對不起這是'然後between'忘了解決它,謝謝 – 2017-10-15 17:51:08
+0
也'BETWEEN'是包容性的,所以你會被計算每小時10倍等,所以你9個例如行產生12結果 –
+0
@MartinSmith -Thanks一很多我現在修好了,但怎麼能這樣寫的'PIVOT'表運算符是posssible? – 2017-10-15 18:01:45
相關問題
- 1. SQL查詢來選擇日期之間的日期 - 30天
- 2. SQL查詢來限制結果昨天和一個指定的8小時內
- 3. MySQL查詢選擇分鐘日期時間30天的間隔
- 4. 在sql中選擇日期加一的日期時間數據
- 5. 我的sql查詢從表中選擇指定的數據
- 6. SQL查詢 - 僅限選擇日期
- 7. 時間之間的Rails查詢,但指定期限
- 8. 選擇數據返回從SQL表中指定的天數
- 9. Rails - 指定時區內的日期時間選擇
- 10. Oracle數據庫:在一天的某些時間之間選擇
- 11. SQL限制選擇查詢
- 12. Php-MySql查詢,根據日期時間選擇數據
- 13. 如何根據今天的日期和時間選擇SQL Server數據?
- 14. 查詢:根據當天日期和顯示器之間選擇
- 15. 在指定日期內從數據庫中選擇數據
- 16. 與今天的日期選擇項的SQL查詢
- 17. SQL查詢選擇今天和前一天的價格
- 18. 在2天內到期的數據庫中查詢數據
- 19. SQL查詢在給定的時間間隔內分割數字
- 20. T-SQL從特定時間之間的多天中選擇數據
- 21. SQL查詢的日期時間參數
- 22. 查詢選擇最近五天的記錄,但在特定時間之間
- 23. 從查詢中選擇日期時間
- 24. 查詢Unix時間一天天在Python
- 25. SQL查詢選擇相同的數據
- 26. SQL - 選擇下一個日期查詢
- 27. Django:查詢的天真日期時間
- 28. SQL查詢 - 選擇時間範圍內沒有日期的時間段之前的最後日期
- 29. 一段時間內的SQL查詢
- 30. 在時間段內選擇一週中的特定日期
顯示一些樣本的數據和嘗試。 –