如何获取数据消息明智?

时间:2013-12-19 06:43:24

标签: mysql sql select group-by sql-order-by

我有这样的表格。

thread_id, message_id, tomsg, frommsg, msg, time, readstatus
1,1,k@k.com,j@k.com,Hi,"2013-12-04 18:06:58",0
2,1,j@k.com,k@k.com,Hello,"2013-12-06 11:11:11",0
3,1,k@k.com,j@k.com,"How R U ?","2013-12-18 11:55:15",0
4,2,a@b.com,b@b.com,sem1,"2013-12-04 18:06:58",1
5,2,b@b.com,a@b.com,sem2,"2013-12-06 11:11:11",0

此处, Comma分隔列数据。 我没有足够的声誉,所以我无法上传图片。

现在假设我想要只有每个消息的最后一个线程的数据然后我必须做什么? 即,从message_id 1返回最后一个整个线程3行。 有什么建议吗?

1 个答案:

答案 0 :(得分:3)

试试这个:

SELECT t.thread_id, t.message_id, t.tomsg, t.frommsg, t.msg, t.time, t.readstatus 
FROM (SELECT t.thread_id, t.message_id, t.tomsg, t.frommsg, t.msg, t.time, t.readstatus 
      FROM thread t ORDER BY t.message_id, t.thread_id DESC
     ) AS t
GROUP BY t.message_id