MySQL テーブルのレコード インデックスの取得
MySQL では、テーブルに多数のレコードが含まれることがよくあります。テーブル内の各行のレコード インデックス、つまり行の位置を含む列があると便利な場合があります。これは、ユーザーのランク付けやシーケンス内の特定のレコードの位置の表示など、さまざまな目的に使用できます。
ソリューション
次の内容を含む列を生成するにはレコード インデックスでは、ユーザー定義変数と結合ステートメントを組み合わせて使用できます。以下に例を示します。
SELECT l.position, l.username, l.score, @curRow := @curRow + 1 AS row_number FROM league_girl l JOIN (SELECT @curRow := 0) r;
このクエリ内:
使用例
次の 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 サイトの他の関連記事を参照してください。