У меня есть таблица в mysql. Какая структура:MySql SQL Query of Group by and Order by
id sender receiver time message
-------------------------------------------------------
1 23 34 2014-11-02 14:55:02 1
2 22 34 2014-11-02 16:55:02 2
3 21 35 2014-11-02 16:55:02 5
4 23 34 2014-11-02 16:55:02 2
5 22 35 2014-11-02 16:55:02 1
Теперь мне нужно сделать запрос, который будет получать последнее сообщение конкретного приемника от конкретного отправителя, если сообщение является более one.Otherwise он дает одну строку. Здесь я хочу сделать запрос с идентификатором приемника id = 34, и он должен дать мне 4-ю строку и вторую строку. то есть
2 22 34 2014-11-02 16:55:02 2
4 23 34 2014-11-02 16:55:02 2
Здесь я не спрашиваю определенное количество строк из db. Это разговор db. И я хочу список разговоров пользователя. И когда для одного и того же отправителя и получателя имеется несколько строк, мне нужен последний разговор.
Как это сделать?
две вещи: У вас есть опечатка в последней строке, где вы сказали 'T1.lastTime' и вы должны включать' WHERE приемник = 34' во внешнем запросе также или еще дополнительная строка может быть возвращена. В противном случае он работает. [Fiddle] (http://sqlfiddle.com/#!2/543b8/3) – AdamMc331
@ McAdam331, спасибо исправлено. – radar
Случилось так, что строка 5 также была возвращена, потому что она подключалась по отправителю = 22 и времени согласования, вот как я поймал ошибку приемника. – AdamMc331