ホームページ > データベース > mysql チュートリアル > MySQL から最後の N 行を昇順で取得するにはどうすればよいですか?

MySQL から最後の N 行を昇順で取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-13 00:17:18
オリジナル
306 人が閲覧しました

How to Retrieve the Last N Rows from MySQL in Ascending Order?

MySQL から最後の N 行を ASC 順で取得する

MySQL データベースから最後の N 行を取得しようとする場合、昇順に並べるのは難しい場合があります。行を操作できる場合、標準の DESC 順序は失敗します。同様に、WHERE 句を使用して、最大 ID から N を引いた値より大きい ID を持つ行を選択すると、行が削除されると失敗する可能性があります。

これらの課題を克服するには、サブクエリを使用できます。

SELECT * FROM
(
 SELECT * FROM table ORDER BY id DESC LIMIT 50
) AS sub
ORDER BY id ASC;
ログイン後にコピー

このクエリは、まず、LIMIT 句を使用して、「table」テーブルから最後の 50 行を降順で選択します。このサブクエリの結果は、「サブ」テーブルに保存されます。最後に、サブクエリ自体は「id」列によって昇順に並べられます。

サブクエリを使用することにより、最後の N 行の選択が順序付けプロセスから分離されます。これにより、元のテーブルに行が追加または削除された場合でも、最後の N 行が常に選択されるようになります。サブクエリの内部クエリでは行が降順に並べられ、外部クエリではサブクエリの結果が昇順に並べられます。

以上がMySQL から最後の N 行を昇順で取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート