sammanfattning: i den här handledningen lär du dig hur du använder Oracle RANK()
funktion för att beräkna rankningen av rader inom en uppsättning rader.
introduktion till Oracle RANK() funktion
funktionenRANK()
är en analytisk funktion som beräknar rankningen av ett värde i en uppsättning värden.
funktionenRANK()
returnerar samma rang för raderna med samma värden. Det lägger till antalet bundna rader till den bundna rangen för att beräkna nästa rang., Därför kan ledningarna inte vara på varandra följande nummer.
funktionenRANK()
är användbar för topp-N och botten-n-frågor.
följande visar syntaxen för funktionenRANK()
:
order_by_clause
krävs. Den anger ordningen på rader i varje partition som funktionenRANK()
gäller .
frågepartitionsklausulen, om den är tillgänglig, delar upp raderna i partitioner som funktionenRANK()
gäller för., Om orsaken till frågepartitionen utelämnas behandlas hela resultatuppsättningen som en enda partition.,tabell som heter rank_demo
som består av en kolumn:
För det andra, sätt in några rader i tabellen rank_demo
:
För det tredje, fråga från tabellen rank_demo
:
För det fjärde, använd funktionen RANK()
för att beräkna rankningen för varje rad i tabellen rank_demo
:
följande visar utgången:
de två första raderna fick samma rang 1., Den tredje raden fick rangen 3 eftersom den andra raden redan fått rangen 1. De kommande tre raderna fick samma rang 4 och den sista raden fick rang 7.
Oracle RANK() funktionsexempel
vi använder tabellenproducts
från provdatabasen för demonstration.,
Oracle RANK() funktion enkelt exempel
följande uttalande beräknar rankningen av varje produkt med sitt Listpris:
här är den partiella utmatningen:
här är den partiella utmatningen:
för att få de 10 dyraste produkterna använder du följande uttalande:
i det här exemplet returnerade det vanliga tabelluttrycket produkter med sina led och den yttre frågan valde endast de första 10 dyraste produkterna.,
här är utgången:
använda Oracle RANK() funktion med PARTITION genom exempel
följande exempel returnerar de tre dyraste produkterna för varje kategori:
i det här exemplet:
- först delade
PARTITION BY
-klausulen produkterna i flera partitioner efter kategori. - sedan sorterade klausulen
ORDER BY
raderna i varje partition efter Listpris i fallande ordning., - slutligen har funktionen
RANK()
beräknat rankningen för varje rad i varje partition. Det återinitierade rangen för varje partition.
följande visar utmatningen:
i den här handledningen har du lärt dig hur du beräknar värdet i en uppsättning värden genom att använda funktionen OracleRANK()
.
- var den här handledningen till hjälp?
- YesNo
Leave a Reply