sammanfattning: i den här handledningen lär du dig hur du använder SQLite RANK()
funktion för att beräkna ledningarna för rader i en frågas resultatuppsättning.
introduktion till SQLite RANK() funktion
funktionenRANK()
är en fönsterfunktion som tilldelar en rang till varje rad i en frågas resultatuppsättning. Rangen av en rad beräknas med ett plus antalet LED som kommer före det.,
följande visar syntaxen förRANK()
– funktionen:
i denna syntax:
- först delar
PARTITION BY
– klausulen raderna i resultatuppsättningen i partitioner. - för det andra anger
ORDER BY
– klausulen order för raderna i varje a-partition. - tredje, funktionen
RANK()
tillämpas på varje rad i varje partition och initieras på nytt när partitionsgränsen korsas.
samma kolumnvärden kommer att få samma rang., När flera rader har samma rang är rangen för nästa rad inte på varandra följande. Det här är som den olympiska medaljen där om två idrottare delar guldmedaljen blir det ingen silvermedalj.,913ee4e2a9″>
tredje, fråga data från RankDemo
tabell:
fjärde, använd RANK()
funktion för att tilldela rader i resultatuppsättningen av RankDemo
tabell:
här är utmatningen:
som du tydligt kan se från utgången får de tredje och fjärde raderna samma rang eftersom de har samma värde., Den femte raden får rank 5 eftersom funktionenRANK()
hoppar över rank 4.
SQLite RANK() funktionsexempel
för att visa funktionenRANK()
använder vi tabellentracks
från provdatabasen.,
använda SQLite RANK() funktion med ORDER BY klausul exempel
följande uttalande använder funktionenRANK()
för att rangordna spår efter deras längder:
i det här exemplet hoppade vi överPARTITION BY
– klausulen, därför behandlar funktionenRANK()
hela resultatuppsättningen som en enda partition.
först sorterarORDER BY
spåren efter deras längder (Milliseconds
– kolumnen).,
För det andra tillämpas funktionenRANK()
på varje rad i resultatuppsättningen med tanke på order av spår efter deras längder.,
använda SQLite RANK() funktion med PARTITION genom exempel
följande uttalande använder funktionen RANK()
för att tilldela en rang till varje spår i varje album:
följande bild visar den partiella utgången:
i det här exemplet:
- först delar klausulen
PARTITION BY
spåren i album. - sedan sorterar
ORDER BY
spåren efter deras längder., - slutligen tilldelar funktionen
RANK()
en rangordning till varje spår i varje album. Om albumet ändras initierar funktionenRANK()
rankvärdet.
det är möjligt att hitta det näst längsta spåret i varje album genom att använda följande underquery:
utgången är som följer:
i den här handledningen kan du hitta det näst längsta spåret i varje album genom att använda följande underquery:
har lärt sig hur man använder SQLite RANK()
– funktionen för att tilldela en rang till varje rad i en resultatuppsättning.,
- var den här handledningen till hjälp ?
- YesNo