ホームページ > データベース > mysql チュートリアル > MySQL テーブルのレコード インデックス (行番号) を取得するにはどうすればよいですか?

MySQL テーブルのレコード インデックス (行番号) を取得するにはどうすればよいですか?

DDD
リリース: 2024-12-16 01:04:09
オリジナル
661 人が閲覧しました

How to Get the Record Index (Row Number) in a MySQL Table?

MySQL テーブルのレコード インデックスの取得

MySQL では、テーブルに多数のレコードが含まれることがよくあります。テーブル内の各行のレコード インデックス、つまり行の位置を含む列があると便利な場合があります。これは、ユーザーのランク付けやシーケンス内の特定のレコードの位置の表示など、さまざまな目的に使用できます。

ソリューション

次の内容を含む列を生成するにはレコード インデックスでは、ユーザー定義変数と結合ステートメントを組み合わせて使用​​できます。以下に例を示します。

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r;
ログイン後にコピー

このクエリ内:

  • @curRow 変数は、(SELECT @curRow := 0) ステートメントを使用して 0 に初期化されます。
  • JOIN ステートメントは、 @curRow 変数が、league_girl の行ごとに 1 ずつ増加することを保証します。 table.
  • row_number 列には、テーブル内の各行のレコード インデックスが含まれます。

使用例

次の League_girl テーブルについて考えてみましょう。 :

position username score
1 a 10
2 b 25
3 c 75
4 d 25
5 e 55
6 f 80
7 g 15

次のクエリは、すべてのレコードのインデックス、ユーザー名、スコアを返します。 League_girl テーブル内のスコアが 50 を超える行:

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r
WHERE   l.score > 50;
ログイン後にコピー

このクエリの出力は次のとおりです:

position username score row_number
3 c 75 1
5 e 55 2
6 f 80 3

以上がMySQL テーブルのレコード インデックス (行番号) を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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