1
看看下面的表格:如何分組最後的`n`行?
id - member_id - day
0 1 1
1 1 1
2 1 2
3 2 2
4 1 3
5 2 3
6 2 3
7 1 3
8 1 3
9 2 3
可以說我想要做的事,如:
SELECT `day`,
COUNT(`id`) AS `count`
FROM `table`
WHERE `member_id` = 1
GROUP BY `day`
ORDER BY `day` DESC
LIMIT 5
和我預想的一樣的結果:
day - count
3 3
2 1
1 1
注意如何計數天1被削減一半,因爲只有該成員的最近五行被分組。相反,我得到最後五組,按天排序。
如何僅將最近的n行與WHERE條件分組?
實際上,我想使用WHERE,LIMIT,然後只有GROUP。
您從查詢中選擇一天。這是我所知道的。 – 2015-02-09 22:36:12
我不完全明白,你知道'HAVING'子句嗎? – 2015-02-09 22:36:45
@LuisSiquot我不明白'HAVING'如何爲給定的成員提供最近的'n'行。 – 2015-02-09 22:39:32