Предположим, threadID
- уникальная ссылка для разговора, если я что-то упустил, это должно работать:
SELECT threadID, count(messageID) as MessageCount, max([date]) as MaxDate
FROM Message
GROUP BY threadID
Вы также можете изменить имя столбца date
, поскольку это зарезервированное слово.
РЕДАКТИРОВАТЬ для изменения требований
Поскольку вы не указали, может ли тема электронной почты измениться («Эй» в первом письме может быть «RE: Эй» во втором ответе), я выполнил подзапрос, чтобы может извлечь любую информацию из таблицы Message
(M1), которую вы хотите.
SELECT M1.subject, M1.date, M2.MessageCount
FROM
Message M1
INNER JOIN (
SELECT threadID, count(messageID) as MessageCount,
max([date]) as MaxDate, max(messageID) as MaxMessageID
FROM [Message]
GROUP BY threadID
) M2 ON
M1.threadID = M2.threadID and M1.MessageID = M2.MaxMessageID
ORDER BY M1.[date] DESC