我有这样的表格。
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行。 有什么建议吗?
答案 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