受信トレイに最新の5つのメッセージを表示したい。5つの最新のIDを取得するには、これを使用する必要があります。
SELECT
MAX(id)
FROM
samtaler
WHERE
brukerid_mottaker = 1
GROUP BY brukerid_avsender
ORDER BY id DESC
LIMIT 5
これにより、必要な正しいIDが返されます。しかし、同じクエリで、同じテーブルからデータを選択したいのですが、上記のクエリから返されたIDを取得した行です。
私はいくつかのこと、変数、自己参加を試しましたが、運がありません:
select
p2.title,
p2.message,
@a:=max(p1.id)
from
samtaler p1
join samtaler p2
on (@a = p2.id)
where
p2.brukerid_mottaker = 1
group by p2.brukerid_avsender
order by p2.id DESC
limit 5
なぜこれが機能しないのですか?