Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak za pomocą MySQL mogę wygenerować kolumnę zawierającą indeks rekordu w tabeli?

Możesz spróbować następujących czynności:

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) część umożliwia inicjalizację zmiennej bez konieczności oddzielnego SET polecenie.

Przypadek testowy:

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);

Zapytanie testowe:

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;

Wynik:

+----------+----------+-------+------------+
| 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. Jak zbudować tablicę JSON z bazy danych mysql

  2. Utrata połączenia z serwerem MySQL podczas „odczytu początkowego pakietu komunikacyjnego”, błąd systemu:0

  3. Zapytanie SQL, aby uzyskać wartości kolumn, które odpowiadają wartości MAX innej kolumny?

  4. Zaloguj wszystkie zapytania w mysql

  5. Oblicz decyla w MySQL na podstawie sum