ホームページ > データベース > mysql チュートリアル > MySQL の「ORDER BY」クエリで特定のエントリの行位置を見つける方法は?

MySQL の「ORDER BY」クエリで特定のエントリの行位置を見つける方法は?

Susan Sarandon
リリース: 2025-01-18 02:36:08
オリジナル
799 人が閲覧しました

How to Find the Row Position of a Specific Entry in a MySQL `ORDER BY` Query?

MySQL の行位置を検索 ORDER BY クエリ

MySQL テーブルを特定の列で昇順に並べ替える場合、特定の行の位置を特定するのは便利なタスクです。単一の行と、ソートされた他の行間でのその位置を取得する方法に関する解決策は次のとおりです:

MySQL の組み込み変数とサブクエリを使用すると、次のクエリでこのタスクを実行できます。

<code class="language-sql">SELECT x.id,
       x.position,
       x.name
  FROM (SELECT t.id,
               t.name,
               @rownum := @rownum + 1 AS position
          FROM TABLE t
          JOIN (SELECT @rownum := 0) r
      ORDER BY t.name) x
 WHERE x.name = 'Beta'</code>
ログイン後にコピー

このクエリ内:

  • サブクエリを使用して、「name」列の並べ替え順序に基づいて各行に位置を割り当てます。
  • @rownum 変数は 0 に初期化され、行ごとに増分されます。
  • 次に、外側のクエリはサブクエリの結果をフィルタリングして、「Beta」という名前の行を見つけます。

結果は、ソート順での対応する位置を含む 1 つの行になります。

以上がMySQL の「ORDER BY」クエリで特定のエントリの行位置を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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