sammanfattning: i den här handledningen lär du dig hur du använder SQL ServerRANK() funktion för att beräkna en rang för varje rad i en partition av en resultatuppsättning.

introduktion till SQL Server RANK() funktion

funktionenRANK() är en fönsterfunktion som tilldelar en rank till varje rad inom en partition av en resultatuppsättning.

raderna i en partition som har samma värden kommer att få samma rang. Rangen av den första raden i en partition är en., FunktionenRANK() lägger till antalet bundna rader till den bundna rangen för att beräkna rankningen för nästa rad, därför kan ledningarna inte vara på varandra följande.

följande visar syntaxen förRANK() – funktionen:

i denna syntax:

  • först delarPARTITION BY – klausulen raderna i resultatuppsättningen partitioner som funktionen tillämpas på.
  • för det andra anger klausulenORDER BY den logiska sorteringsordningen för raderna i varje en partition som funktionen tillämpas på.,

funktionenRANK() är användbar för top-n-och bottom-N-rapporter.,”>

För det andra, sätt in några rader i sales.rank_demo tabell:

Code language: SQL (Structured Query Language) (sql)

För det tredje, frågedata från tabellen sales.rank_demo:

Code language: SQL (Structured Query Language) (sql)

För det fjärde, använd ROW_NUMBER() för att tilldela rader i resultatuppsättningen av sales.rank_demo tabell:

Code language: SQL (Structured Query Language) (sql)

här är utmatningen:

som tydligt visas från utgången får den andra och tredje raden samma rang eftersom de har samma värde B., Den fjärde och femte raden får rank 4 eftersom funktionen RANK() hoppar över rank 3 och båda har samma värden.,iv id=”6657ab2abb”>

funktion:

använda SQL Server RANK() funktion över ett resultatuppsättningsexempel

följande exempel använder funktionen RANK() för att tilldela rank till produkter enligt deras listpriser:

här är resultatuppsättningen:

i det här exemplet, eftersom vi hoppade över PARTITION BY – klausulen behandlade funktionen RANK() de olika produktpriserna.hela resultatet som en enda partition.,

funktionenRANK() tilldelar en rang till varje rad inom resultatuppsättningen sorterade efter listpris från högt till lågt.,

använda SQL Server RANK() funktion över partitioner exempel

detta exempel använder funktionen RANK() för att tilldela en rang till varje produkt efter Listpris i varje varumärke och returnerar produkter med rank mindre än eller lika med tre:

följande bild visar utdata:

i det här exemplet:

  • först delar klausulen PARTITION BY produkterna i partitioner efter varumärkes-ID.,
  • för det andra sorterarORDER BY produkter i varje partition efter listpriser.
  • tredje returnerar den yttre frågan de produkter vars rankvärden är mindre än eller lika med tre.

RANK() – funktionen appliceras på varje rad i varje partition och återuppbyggs när partitionens gräns korsas.

i den här handledningen har du lärt dig hur du använder SQL Server RANK() – funktionen för att tilldela en rang till varje rad i en partition av en resultatuppsättning.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *