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
Как выбрать последние 2 последние записи (в течение этой недели) группы user_id
в следующем.
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