sql >> Database teknologi >  >> RDS >> Sqlserver

Problemer med at bruge ROW_NUMBER() OVER (PARTITION BY ...)

Jeg ville gøre sådan noget:

;WITH x AS (SELECT *, Row_number() OVER( partition BY employeeid ORDER BY datestart) rn FROM employeehistory) SELECT * FROM x x1 LEFT OUTER JOIN x x2 ON x1.rn = x2.rn + 1

Eller måske ville det være x2.rn - 1. Du bliver nødt til at se. I hvert fald får du ideen. Når du har bordet sammen med sig selv, kan du filtrere, gruppere, sortere osv. for at få det, du har brug for.



  1. Hvad er det optimale MYSQL-forespørgselsnummer i php-script?

  2. plpgsql funktion:Returner rækker fra en visning oprettet fra tilfældig tabel

  3. Opret trigger på Oracle fra en bruger, der lytter til begivenheder for en anden bruger

  4. Hvordan CTE kan hjælpe med at skrive komplekse, kraftfulde forespørgsler:et præstationsperspektiv