sql >> Database teknologi >  >> RDS >> Mysql

Mysql vælg ordinal

Ved at bruge variabler og betingelser kan du nulstille tælleren baseret på en betingelse (libraryId er ændret). Obligatorisk at bestille efter kolonnen libraryId.

SELECT books.*, 
    if( @libId = libraryId, 
        @var_record := @var_record + 1, 
        if(@var_record := 1 and @libId := libraryId, @var_record, @var_record)
    ) AS Ordinal 
FROM books
JOIN (SELECT @var_record := 0, @libId := 0) tmp
ORDER BY libraryId;

Den anden if-sætning bruges til at gruppere to opgaver sammen og returnere @var_record.

if(@var_record := 1 and @libId := libraryId, @var_record, @var_record)


  1. Hvordan kan jeg udføre vakuum ved hjælp af PostgreSQL?

  2. Hvorfor virker kode i AJAX succesopkald ikke?

  3. Hvad er PostgreSQL-REGLER gode til?

  4. Datokolonner i SQL-Server (MSSQL-JDBC 3.0), der kører under Java 1.7.0, er hentet som 2 dage i fortiden