質問があります
SELECT m1.mid mid, m1.uid uid, m1.date, m1.body body
FROM messages m1
WHERE m1.chat_id IS NULL
and deleted = 0
AND m1.date in
(
SELECT MAX(m2.date)
FROM messages m2
WHERE m2.uid = m1.uid
AND m2.chat_id IS NULL
and m2.deleted = 0
)
このクエリは実際には私が書いたものではありません。ここで助けてもらいました。
しかし、私には問題があります。同じ日付と uid (同じユーザーからの) 値を持つ複数のメッセージがある場合、同じ日付と uid を持つ 2 つ以上のレコードを取得しますが、1 つだけが必要です (どれでも、または最大の mid fe を持つメッセージ)
成功結果なしで、distinct(uid) を使用しようとしました。私が望む結果を達成する他の方法はありますか?