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
、昇順に並べます。