我有一個名爲event
的事件表。爲了這個問題的目的,它只有一個字段date
。如何通過SUM限制結果
下面的查詢返回了我一個數字,在每個日期發生了未來14天內的事件:
SELECT
DATE_FORMAT(ev.date, '%Y-%m-%d') as short_date,
count(*) as date_count
FROM event ev
WHERE ev.date >= NOW()
GROUP BY short_date
ORDER BY ev.start_date ASC
LIMIT 14
結果可能如下:
+------------+------------+
| short_date | date_count |
+------------+------------+
| 2010-03-14 | 1 |
| 2010-03-15 | 2 |
| 2010-03-16 | 9 |
| 2010-03-17 | 8 |
| 2010-03-18 | 11 |
| 2010-03-19 | 14 |
| 2010-03-20 | 13 |
| 2010-03-21 | 7 |
| 2010-03-22 | 2 |
| 2010-03-23 | 3 |
| 2010-03-24 | 3 |
| 2010-03-25 | 6 |
| 2010-03-26 | 23 |
| 2010-03-27 | 14 |
+------------+------------+
14 rows in set (0.06 sec)
比方說,我想以日期來展示這些事件。同時我只想一次顯示最多10個。我將如何做到這一點?
不知怎的,我需要通過date_count字段的SUM來限制這個結果,但我不知道如何。
有人遇到過這個問題嗎?
任何幫助,將不勝感激。謝謝
被修改: 我在原來的帖子中忘記了額外的要求(關鍵的一個,哎呀)是我只想整天。 即。由於限制爲10,它只會返回以下行:
+------------+------------+
| short_date | date_count |
+------------+------------+
| 2010-03-14 | 1 |
| 2010-03-15 | 2 |
| 2010-03-16 | 9 |
+------------+------------+
我覺得您的查詢不會做你期待什麼如果有一天沒有任何事件。 – 2010-03-14 11:02:02
如果在某個特定日期沒有發生任何事件,那麼該日期行將不會出現,這對我的目的是可以的 – denormalizer 2010-03-14 11:10:30
你是說,當你開始在14日添加date_count時,你將在16日停止,因爲1+ 2 + 9> = 10 – lexu 2010-03-14 12:32:08