У меня есть две таблицы: teams
и messages
teams
========
id | name
messages
============================
id | team_id | created_date
Мне нужен набор результатов, который выглядит следующим образом:
team name | number of messages | most recent message
Например:
Joe Blow's Group | 23 | 2018-08-29
Моя первая попытка:
select team.id, team.name, count(messages.team_id) as 'Number of
Messages', messages.created_date as 'Last Message' from messages inner join
teams on messages.team_id = team.id group by team.name
Продюсеры:
Joe Blow's Team | 23 | 2018-02-14
Bob's Team | 12 | 2018-04-15
и т. Д.
Проблема в том, что даты являются самым старым сообщением, созданным для этой команды, а не самым последним. Если я пытаюсь добавить sort by
, он сортирует только этот набор результатов, но неверные даты. Если я попробую несколько 'group by', я получу строку для каждого сообщения.
Нужен ли подзапрос или есть более простой способ сделать created_date
самым последним?