ずっと Oracle ばかり使ってると、「あり?ROWNUM って MySQL で、どうすんだっけ?」となっちゃうので(すまんのお、最近記憶力がなくて)メモっとく。
20件目から10件表示なら、
SELECT
*
FROM
hogehoge
LIMIT
20, 10
でね。LIMIT を使いましょう。
最後の 10件を、降順に ORDER BY せずに抜くために、
SELECT
*
FROM
c_access_log
LIMIT
(
SELECT
COUNT(*) - 10
FROM
c_access_log
), 10
とかやってみたけど、You have an error in your SQL syntax と怒られちゃって駄目。LIMIT のところにサブクエリの値は突っ込めないのか?
MySQL で、並び順を変えずにラスト10件を取得するスマートな方法ってどうすんだろう?
<参考>
MySQLとApacheのもやもや情報
http://pagerank.cocolog-nifty.com/blog/2007/12/mysqloraclerown_4c4f.html
コメントする