Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dengan MySQL, bagaimana saya bisa menghasilkan kolom yang berisi indeks catatan dalam sebuah tabel?

Anda mungkin ingin mencoba yang berikut ini:

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r;

JOIN (SELECT @curRow := 0) bagian memungkinkan inisialisasi variabel tanpa memerlukan SET terpisah perintah.

Kasus uji:

CREATE TABLE league_girl (position int, username varchar(10), score int);
INSERT INTO league_girl VALUES (1, 'a', 10);
INSERT INTO league_girl VALUES (2, 'b', 25);
INSERT INTO league_girl VALUES (3, 'c', 75);
INSERT INTO league_girl VALUES (4, 'd', 25);
INSERT INTO league_girl VALUES (5, 'e', 55);
INSERT INTO league_girl VALUES (6, 'f', 80);
INSERT INTO league_girl VALUES (7, 'g', 15);

Kueri pengujian:

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;

Hasil:

+----------+----------+-------+------------+
| position | username | score | row_number |
+----------+----------+-------+------------+
|        3 | c        |    75 |          1 |
|        5 | e        |    55 |          2 |
|        6 | f        |    80 |          3 |
+----------+----------+-------+------------+
3 rows in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Fungsi REGEXP_INSTR() Bekerja di MySQL

  2. Kolom tidak dikenal dalam kesalahan 'daftar bidang' pada permintaan Pembaruan MySQL

  3. hitungan untuk setiap bergabung - pengoptimalan

  4. Pertimbangan DevOps untuk Penerapan Basis Data Siap Produksi

  5. Bagaimana cara saya melemparkan char ke integer saat menanyakan di Django ORM?