0
SELECT * FROM msg_messages m 
JOIN msg_status s on m.messageId = s.messageId 
JOIN msg_threads t ON t.threadId = m.threadId 
JOIN users u ON u.userId = s.userId 
WHERE t.threadId = 1 
GROUP BY u.userId ORDER BY `m`.`date` DESC 

これは、すべてのレコードの最初のインデックスを常に提供するクエリです。しかし、各グループの最新のインデックスを取得したい..多くの方法を試しましたが、結果は何もありません。ユーザー: これは手探りなしです

これは手探りで

これは私がグループ化した後に欲しいものです

これは私に与えるものです

4

3 に答える 3

-1

このコードを試す

SELECT * FROM msg_messages m 
JOIN msg_status s on m.messageId = s.messageId 
JOIN msg_threads t ON t.threadId = m.threadId 
JOIN users u ON u.userId = s.userId 
WHERE t.threadId = 1 
GROUP BY u.userId ORDER BY `m`.`date` DESC LIMIT 0,1
于 2015-11-18T10:30:20.920 に答える
-1

これはどう:

SELECT * FROM msg_messages m 
JOIN msg_status s on m.messageId = s.messageId 
JOIN msg_threads t ON t.threadId = m.threadId 
JOIN users u ON u.userId = s.userId 
GROUP BY u.userId 
having max (`m`.`date`)
ORDER BY `m`.`date` DESC 

からクエリを修正しました

having max (`t`.`threadId`)

having max (`m`.`date`)
于 2015-11-18T10:31:17.753 に答える