Összefoglaló: ebben az oktatóanyagban megtanulhatja az SQL Server használatát ROW_NUMBER() függvény, amely szekvenciális egész számot rendel az eredményhalmaz minden sorához.
Bevezetés az SQL Server ROW_NUMBER () függvényébe
A ROW_NUMBER() egy olyan ablakfunkció, amely szekvenciális egész számot rendel az eredményhalmaz partíciójának minden sorához. A sorszám minden partíció első sorában 1-gyel kezdődik.
Az alábbiakban bemutatjuk a ROW_NUMBER() függvény szintaxisát:
Nézzük részletesen vizsgálja meg a ROW_NUMBER() függvény szintaxisát.
PARTITION BY
A PARTITION BY záradék felosztja az eredményhalmazt partíciókra (egy másik kifejezés sorcsoportokra). A ROW_NUMBER() függvény minden partícióra külön-külön kerül alkalmazásra, és minden partíció számára újra inicializálja a sorszámot.
A PARTITION BY záradék opcionális. Ha kihagyja, a ROW_NUMBER() függvény a teljes eredménykészletet egyetlen partícióként kezeli.
ORDER BY
A ORDER BY záradék határozza meg a sorok logikai sorrendjét az eredményhalmaz minden partícióján belül. A ORDER BY záradék kötelező, mert a ROW_NUMBER() függvény sorrend-érzékeny.
SQL ROW_NUMBER () szerver példák
A sales.customers táblázatot a mintaadatbázisból fogjuk használni a ROW_NUMBER() függvény bemutatásához. .
Az SQL Server használata ROW_NUMBER () függvény egy eredményhalmaz fölött példa
A következő utasítás a ROW_NUMBER() elemet használja az egyes ügyfélsorok sorrendű számokhoz rendelésére:
Itt van a részleges kimenet:
Ebben a példában kihagyta a PARTITION BY záradékot, ezért a ROW_NUMBER() a teljes eredménykészletet egyetlen partícióként kezelte.
SQL használata A (z) ROW_NUMBER () kiszolgáló a partíciók felett példa
A következő példa a ROW_NUMBER() függvény egy sorozatos egész szám hozzárendeléséhez minden ügyfélhez. Visszaállítja a számot, amikor a város változik:
A következő kép a részleges kimenetet mutatja:
Ebben a példában a PARTITION BY záradékot használtuk az ügyfelek városok szerinti felosztására. A város számának újraindításakor a város változott.
Az SQL Server ROW_NUMBER () használata lapozáshoz
A ROW_NUMBER() függvény hasznos a lapozáshoz alkalmazásokban. Például megjelenítheti az ügyfelek listáját oldalanként, ahol minden oldal 10 sorral rendelkezik.
A következő példa a ROW_NUMBER() felhasználásával adja vissza az ügyfeleket a 11. sorból. 20-ig, ami a második oldal:
A kimenet a következő:
Ebben a példában:
- Először a CTE a
ROW_NUMBER()függvényt használta a hozzárendeléshez Az eredmény minden sora szekvenciális egész számot állít be. - Másodszor, a külső lekérdezés a második oldal sorait adta vissza, amelyek sorszáma 11 és 20 között van.
Ebben az oktatóanyagban megtanulta, hogyan használhatja az SQL Server ROW_NUMBER() függvényt egy szekvenciális egész szám hozzárendeléséhez a lekérdezés partíciójának minden sorához.