以下の質問をお借りして追加での質問となります。
http://q.hatena.ne.jp/1177119215
select * from testdatabase order by id desc LIMIT 3;
ここではユニークIDを最新の3件取得していますが、IDが重複している場合、
たとえばidが1,2,3,4,5,6,6,6,7,8,9,9,10,11,11とあると、「最新の3件」で「id:11,11,10,9,9」を選びたい場合、どうすべきでしょうか?
使用しているデータベースとバージョンはご提示ください。
サブクエリが使用できるデータベースなら、
SELECT * FROM testdatabase WHERE id IN ( SELECT DISTINCT id FROM testdatabase ORDER BY id DESC LIMIT 3 ) ORDER BY id DESC;
でどうでしょうか。
使用しているデータベースとバージョンはご提示ください。
サブクエリが使用できるデータベースなら、
SELECT * FROM testdatabase WHERE id IN ( SELECT DISTINCT id FROM testdatabase ORDER BY id DESC LIMIT 3 ) ORDER BY id DESC;
でどうでしょうか。
返信有難うございます。
いまさらですが、MYSQLは5.1です。
サブクエリを利用するのですね。とても参考になりました。
基本的にはそのレベルになるとアプリでやった方が良いと思うけどね。
SELECT * FROM testdatabase WHERE id IN ( SELECT id FROM testdatabase GROUP BY id ORDER by ID DESC limit 3 ) ORDER BY id DESC;
返信有難うございます。
お二人ともほぼ同様のものなので間違いないと思います。
帰宅したら早速やってみます。
返信有難うございます。
いまさらですが、MYSQLは5.1です。
サブクエリを利用するのですね。とても参考になりました。