Я делаю выбор, используя GROUP BY, поэтому я получаю много разных строк. Мне нужно ОБНОВИТЬ поле состояния каждой строки, затронутой запросом SELECT, но оно сгруппировано ... поэтому я не знаю все идентификаторы, только МАКС (идентификатор).
Этозапрос на выборку:
SELECT d.*, n.* FROM
(SELECT MAX(id) as id, MAX(datetime) as datetime, COUNT(DISTINCT content) as total FROM user_notifications
WHERE id_user
GROUP BY id_ref, type
ORDER BY datetime DESC) d
JOIN user_notifications n USING (id)
Изменить:
Простой пример, это таблица
id user content status
1 1 aaa 0
2 1 aaa 0
3 1 bbb 0
4 2 aaa 0
5 3 bbb 0
Это запрос
select max(id), user, content from table where user=1 group by content
это результат
id user content
2 1 aaa
3 1 bbb
в этом запросе, на самом деле sql внутренне выбирает все user = 1 (id = 1, 2, 3), а затем запрос группируется, показывая только две строки.
Итак, я хочу обновить все идентификаторы, вовлеченные в запрос (id = 1, 2 и 3)