私はmysqlにメッセージのテーブルを持っています。 列は、送信者、受信者、テキスト、ID、日付として名前が付けられます。MySQLのGROUP BYステートメント
このようなクエリ:送信者(またはレシーバ)によって
SELECT max(id), text
FROM `messages`
WHERE reciever = $user_id OR sender = $user_id
GROUP BY reciever, sender
ORDER BY date DESC
ITグループメッセージとそれが最後のメッセージIDの最大値(ID)を返しますが、それは最後のメッセージテキストを返しません。
JOINとUNIONなしでこの問題を解決する方法はありますか?
ありがとうございます!
をクエリが動作しない理由は、私の答えに記載されています。しかし、私はあなたがクエリを誤って作成し、人々があなたが本当に望むものを明確に知ることができないため、クエリ自体に加えてあなたの目的をnatrual言語で述べるべきだと思います。 –
同様の質問に対する回答については、このリンクを参照してください。[最大-n-per-group + mysql](http://stackoverflow.com/questions/tagged/greatest-n-per-group+mysql?sort=votes&pagesize=50) –