MySQL で、ラスト10件を取得したい

ずっと 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

トラックバック(0)

このブログ記事を参照しているブログ一覧: MySQL で、ラスト10件を取得したい

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/307

コメントする

このブログ記事について

このページは、shinodaが2008年12月30日 13:44に書いたブログ記事です。

ひとつ前のブログ記事は「Vista の無茶苦茶な排他制御」です。

次のブログ記事は「明示的に、default-character-set 設定を」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら