Задавайте вопросы, мы ответим
Вы не зашли.
можно каким-либо образом указать group by для резальтата работы оператора UNION?
Допустим вот такая конструкция:
(select id, user_id, date from table1)
union
(select id, user_id, date from table2)
group by user_id
order by date desc
вызывает ошибку
(select id, user_id, date from table1 group by user_id)
union
(select id, user_id, date from table2 group by user_id)
order by date desc
выдает первую попавшуюся строку (с меньшим ID и датой), а нужно, чтобы выдавалась последняя.
Неактивен
Честно говоря, не совсем понятен вопрос. Попробую его перефразировать и написать
ответ. Если перефразировал неверно, то попробуйте сформулировать его правильно.
Итак, вопрос:
Есть две идентичные таблицы с тремя столбцами (id, user_id, date). Нужно выбрать из
обеих таблиц для каждого пользователя (user_id) максимальную дату (date).
Решение:
SELECT user_id, MAX(data)
FROM (SELECT * FROM table1 UNION SELECT * FROM table2) tbl
GROUP BY user_id;
Неактивен