按時間戳分組
回答
這個怎麼樣?使用DATE
功能:
SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
COUNT(*) AS NumPosts
FROM MyPostsTable
GROUP BY DATE(FROM_UNIXTIME(MyTimestamp))
ORDER BY ForDate
這將顯示在該表中有數據,每個日期的職位數目。
SELECT
*
FROM
(
SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
ROW_NUMBER() OVER (PARTITION BY DATE(FROM_UNIXTIME(MyTimestamp)) ORDER BY MyTimeStamp) AS PostRowID,
*
FROM MyPostsTable
)
AS sequenced_daily_posts
WHERE
ForDate = <whatever date(s) you want>
AND PostRowID <= 2
謝謝,但看到我最後的評論:'我想只顯示在每個日期的最後一個帖子2'我認爲這個查詢只顯示其日期的帖子,有2個帖子 – 2011-05-11 22:24:51
我測試過你查詢和它返回語法錯誤'( PARTITION BY DATE(FROM_UNIXTIME(MyTimestamp)))' – 2011-05-11 22:27:22
如果一天有1個帖子,它將顯示當天的一個帖子。如果一天有2個帖子,它將顯示當天的兩個帖子。如果每天有3個或更多帖子,則只會顯示當天的前2個帖子。 (將DESC添加到ORDER BY中,使其顯示每天的最後兩個帖子。)每天這個限制爲2天不會影響您是否有一百天,總計最多返回200條記錄。 – MatBailie 2011-05-11 22:28:27
SELECT DATE(timestamp) AS ForDate,
COUNT(*) AS NumPosts
FROM user_messages
GROUP BY DATE(timestamp)
ORDER BY ForDate
這才發現我。我有時間戳「2013-03-27 15:46:08」。
這在MySQL 5.1.52中工作,在以前的答案中的DATE(FROM_UNIXTIME(MyTimestamp))返回null。 – 2015-08-03 03:49:30
- 1. 按時間分組時間戳,而不是按時間
- 2. 按月的時間戳分組
- 3. SSRS:按時間戳分組按行和按來源拆分值
- 4. 按月劃分時間戳
- 5. postgresql按時間戳組
- 6. 按時間戳日期組
- 7. 按時間戳選擇組SQL按1分鐘間隔
- 8. 按日分組Unix時間戳產生不均勻間隔組
- 9. 按時間戳之間的時間間隔分組時間戳,然後從組中計算MySQL
- 10. 根據時間戳按日期和時間分組條目
- 11. 分裂時間戳按小時
- 12. 按時間戳排序,但按其他字段分組
- 13. 在MongoDB中按小時分組的時間戳
- 14. MYSQL檢索時按日期分組時間戳
- 15. 按時間間隔分組
- 16. 按時間間隔分組
- 17. MySQL - 按時間戳範圍的組
- 18. sqlite:按時間戳和時間間隔爲5分鐘的結果組總和
- 19. 按貓鼬時間戳記的日期分組
- 20. 按時間戳分組MYSQL輸出空白行
- 21. 按日期對時間戳字段進行分組
- 22. MonetDB:按時間戳的不同部分組合
- 23. Postgres按日期分組(時間戳)和總和值。
- 24. 如何按時間戳字段進行分組?
- 25. SQL Server - MAX時間戳記行的主鍵由客戶和時間戳分組
- 26. 按時間戳聚合
- 27. mysql按時間戳搜索
- 28. jQuery的:按鍵() - 時間戳
- 29. 按SQL時間戳排序
- 30. 如何拆分日期時間戳的時間組件?
我找到了我的答案,但你的答案不正確,它返回null,正確的是:'DATE(FROM_UNIXTIME(timestamp))' – 2011-05-11 21:46:32
您編輯的答案是正確的,謝謝 – 2011-05-11 21:50:14
@ p.campbell:如何限制每個日期的行?例如:對於'2011-05-11'我有10個職位和'2011-05-12' 20職位,我想每個日期顯示'2職位',你能幫我嗎? – 2011-05-11 22:12:28