sql >> データベース >  >> RDS >> Mysql

mysqlはn個の最後の行から選択します

    回答 から開始 @chaosによって提供されますが、いくつかの変更が加えられています:

    • 常にORDER BYを使用する必要があります LIMITを使用する場合 。 RDBMSテーブルの暗黙的な順序は保証されていません。 通常 主キーの順序で行を取得しますが、これに依存することはできず、移植性もありません。

    • 降順で並べ替える場合は、テーブルの行数を事前に知っておく必要はありません。

    • 相関名を付ける必要があります (別名テーブルエイリアス)派生テーブルへ。

    これが私のバージョンのクエリです:

    SELECT `id`
    FROM (
        SELECT `id`, `val`
        FROM `big_table`
        ORDER BY `id` DESC
        LIMIT $n
    ) AS t
    WHERE t.`val` = $certain_number;
    


    1. SQLの別の列に基づいて列を更新する方法

    2. OracleRACネットワークおよびIP情報の確認

    3. MYSQLからMYSQLIへの更新

    4. PL/SQLを使用してOracle11gのJSONファイルにデータをエクスポートする