2013-08-20 1 views
0

Это моя база данных для сообщений enter image description hereКак группировать по одному столбцу, но выбрать последнее значение

Я хочу группе receiver_id и это мой SQL

SELECT * FROM messages WHERE sender_id=2 
ORDER BY created_at DESC 
GROUP BY receiver_id 
HAVING COUNT(receiver_id)>=1 

Это работает, но он всегда показывает предмет Bokcreated_at=2013-08-19 20:49:22 и Я хотел бы показать последнюю created_at и тему, в этом примере 2013-08-20 14:29:41

Это мой выход

enter image description here

+0

Следуйте этот тег – Strawberry

+0

требуется только одна запись т.е. только последняя запись – overflow

ответ

0
SELECT 
     m1.* 
FROM 
     messages m1 
LEFT JOIN 
     messages m2 
ON 
    (m1.receiver_id = m2.receiver_id 
    AND m1.created_at < m2.created_at) 
WHERE 
    m2.created_id IS NULL; 
+0

старой школы Do. Ницца :-) – Strawberry