私は一意のuser_idのために最新のdatetimeを作成しようとしています。私は以下のクエリを持っていますが、それは動作していないようです....それは最新の作成時間を取得していません。最新のユニークなユーザチャットが動作しない
SELECT * FROM `chats`
WHERE receiver_id = 1
GROUP BY user_id
ORDER BY created DESC
理由はありますか?
UPDATE:
は、実際に私は私の答え自分自身を発見しました。下記をご覧ください。ネストされた検索とフィルタリングされた結果テーブルのINNER JOINを使用し、次にその結果のwhere句を使用して、そのテーブルに参加して必要なデータを取得する必要がありました。
SELECT c.*, users.username
FROM chats c
INNER JOIN(
SELECT MAX(created) AS Date, user_id, receiver_id, chat, type, id
FROM chats
WHERE receiver_id = 1
GROUP BY user_id) cc ON cc.Date = c.created AND cc.user_id = c.user_id
LEFT JOIN users ON users.id = c.user_id
WHERE c.receiver_id = 1
ここにテーブル構造を投稿したいと思うかもしれません。 –
あなたの問題についての詳しい情報を教えていただけますか?たとえば、チャットテーブルの構造と、おそらくそのテーブルのサンプルデータがあります。 – Diego