Shrnutí: v tomto tutoriálu, se dozvíte, jak používat SQLite RANK()
funkce pro výpočet pořadí řádků v dotazu sada výsledků.
Úvod do funkce SQLite RANK ()
funkceRANK()
je funkce okna, která přiřazuje hodnost ke každému řádku v sadě výsledků dotazu. Hodnost řádku se vypočítá o jeden plus počet řad, které přicházejí před ním.,
následující příklad ukazuje syntaxi RANK()
funkce:
V této syntaxi:
- První
PARTITION BY
doložky rozděluje řádků sady výsledků do oddílů. - za druhé, klauzule
ORDER BY
určuje pořadí řádků v každém oddílu a. - za třetí, funkce
RANK()
se aplikuje na každý řádek v každém oddílu a znovu se inicializuje při překročení hranice oddílu.
stejné hodnoty sloupců obdrží stejné hodnosti., Pokud má více řádků stejnou hodnost, pořadí dalšího řádku není po sobě jdoucí. Je to jako olympijská medaile, ve které pokud dva sportovci sdílejí zlatou medaili, nebude žádná stříbrná medaile.,913ee4e2a9″>
za Třetí, data dotazu z RankDemo
tabulky:
za Čtvrté, pomocí RANK()
funkce přiřadit řadí do řádků v sadě výsledků RankDemo
tabulky:
Zde je výstup:
Jak můžete jasně vidět z výstupu, třetí a čtvrtý řádek dostávat stejné hodnoty, protože mají stejnou hodnotu., Pátý řádek získá hodnost 5, protože funkce RANK()
přeskočí hodnost 4.
SQLite RANK() příklady funkcí
pro demonstraci funkce RANK()
použijeme tabulku tracks
ze vzorové databáze.,
Použití SQLite RANK() funkce s ORDER BY klauzule příklad
následující prohlášení používá RANK()
funkce se řadí skladby podle jejich délky:
V tomto příkladu jsme přeskočili PARTITION BY
klauzule, tedy RANK()
funkce léčí celý výsledek nastavit jako jeden oddíl.
nejprve klauzuleORDER BY
třídí stopy podle jejich délky (Milliseconds
sloupec).,
Druhý RANK()
funkce je aplikována na každý řádek v sadě výsledků s ohledem objednávky ze skladeb podle jejich délky.,
Použití SQLite RANK() funkce s PARTITION příkladem
následující prohlášení používá RANK()
funkce přiřadit hodnost, aby se každá stopa v každé album:
následující obrázek ukazuje dílčí výstup:
V tomto příkladu:
- První
PARTITION BY
doložky rozděluje skladby do alb. - pak klauzule
ORDER BY
třídí stopy podle jejich délky., - nakonec funkce
RANK()
přiřadí každé skladbě v každém albu hodnost. Pokud se album změní, funkceRANK()
znovu inicializuje hodnotu hodnosti.
je možné najít druhou nejdelší dráhu v každém albu pomocí následující poddotaz:
výstup je následující:
V tomto kurzu jste se naučili, jak používat SQLite RANK()
funkce pro přiřazení hodnoty do každého řádku v sada výsledků.,
- byl tento tutoriál užitečný ?
- YesNo