Ö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.