0
以下是我的数据库表。MYSQL按群组选择群组并限制其中created_at在本周内
id user_id group_id created_at
1 1 1 2016-09-29
2 1 2 2016-10-02
3 1 3 2016-10-02
4 1 4 2016-10-03
5 1 5 2016-10-03
6 2 1 2016-01-02
7 2 2 2016-01-02
8 2 3 2016-01-03
9 3 1 2016-09-29
10 3 2 2016-09-30
11 3 3 2016-10-02
12 3 4 2016-10-02
13 3 5 2016-10-03
以下是我的sql查询。
SELECT myTable.*
FROM myTable
INNER JOIN (
SELECT id
FROM myTable
GROUP BY id
) group_max
ON myTable.id = group_max.id
WHERE YEARWEEK(myTable.add_time) = YEARWEEK(NOW())
ORDER BY myTable.user_id ASC, myTable.add_time ASC
通过上述查询,我得到以下结果。
id user_id group_id created_at
4 1 4 2016-10-03
5 1 5 2016-10-03
2 1 2 2016-10-02
3 1 3 2016-10-02
8 2 3 2016-01-03
6 2 1 2016-01-02
7 2 2 2016-01-02
13 3 5 2016-10-03
11 3 3 2016-10-02
12 3 4 2016-10-02
如何由user_id
,如下选择最后2个最近的记录组(本周内)。
id user_id group_id created_at
5 1 5 2016-10-03
4 1 4 2016-10-03
8 2 3 2016-01-03
7 2 2 2016-01-02
13 3 5 2016-10-03
12 3 4 2016-10-02