MySQLから最後のN行を選択する 質問する

MySQLから最後のN行を選択する 質問する

MySQLデータベースから、次の列内の最後の50行を選択したい。idそれは主キー目標は、行を次の順序で並べ替えることです。idオーストラリア順序が間違っているため、このクエリは機能しません

SELECT 
    *
FROM
    `table`
ORDER BY id DESC
LIMIT 50;

また、行を操作(削除)できることも注目に値します。そのため、次のクエリも機能しません。

SELECT 
    *
FROM
    `table`
WHERE
    id > ((SELECT 
            MAX(id)
        FROM
            chat) - 50)
ORDER BY id ASC;

質問: MySQL データベースから操作可能で ASC 順になっている最後の N 行を取得するにはどうすればよいでしょうか?

ベストアンサー1

サブクエリを使用してこれを行うことができます。

SELECT * FROM
(
 SELECT * FROM table ORDER BY id DESC LIMIT 50
) AS sub
ORDER BY id ASC;

これにより、最後から 50 行を取り出しtable、昇順に並べます。

おすすめ記事