Yhteenveto: Tässä opetusohjelmassa opit käyttämään SQL Server -palvelinta ROW_NUMBER() -toiminto, jolla määritetään peräkkäinen kokonaisluku kullekin tulosjoukon riville.
Johdanto SQL Server ROW_NUMBER () -funktioon
ROW_NUMBER() on ikkunafunktio, joka määrittää peräkkäisen kokonaisluvun jokaiselle riville tulosjoukon osiossa. Rivin numero alkaa numerolla 1 jokaisen osion ensimmäisellä rivillä.
Seuraava näyttää ROW_NUMBER() -funktion syntaksin:
Otetaan tutkia ROW_NUMBER() -funktion syntaksia yksityiskohtaisesti.
PARTITION BY
PARTITION BY lauseke jakaa tulosjoukon osioihin (toinen termi riviryhmille). ROW_NUMBER() -funktiota käytetään kullekin osiolle erikseen ja se alustaa jokaisen osion rivinumeron uudelleen.
Lauseke PARTITION BY on valinnainen. Jos ohitat sen, ROW_NUMBER() -toiminto käsittelee koko tulosjoukkoa yhtenä osiona.
ORDER BY
ORDER BY -lauseke määrittelee rivien loogisen järjestyksen tulosjoukon jokaisessa osiossa. Lauseke ORDER BY on pakollinen, koska ROW_NUMBER() -toiminto on järjestysherkkä.
SQL Palvelimen ROW_NUMBER () esimerkkejä
Käytämme esimerkkitietokannan sales.customers -taulukkoa osoittamaan funktiota ROW_NUMBER() .
SQL Serverin käyttö ROW_NUMBER () funktio tulosjoukon päällä esimerkki
Seuraava lauseke käyttää ROW_NUMBER() -toimintoa määrittääksesi jokaiselle asiakasriville järjestysnumeron:
Tässä on osittainen ulostulo:
Tässä esimerkissä ohitti lausekkeen PARTITION BY, joten ROW_NUMBER() käsitteli koko tulosjoukkoa yhtenä osiona.
SQL: n käyttö Palvelin ROW_NUMBER () osioiden esimerkissä
Seuraava esimerkki käyttää ROW_NUMBER() toiminto määrittää peräkkäisen kokonaisluvun jokaiselle asiakkaalle. Se nollaa numeron, kun kaupunki muuttuu:
Seuraava kuva näyttää osittaisen lähdön:
Tässä esimerkissä käytimme PARTITION BY -lauseketta asiakkaiden jakamiseen osioihin kaupunkikohtaisesti. Rivin numero alustettiin uudelleen, kun kaupunki muuttui.
SQL Server ROW_NUMBER () -sivun käyttäminen sivutuksessa
ROW_NUMBER() -toiminto on hyödyllinen sivutuksessa sovelluksissa. Voit esimerkiksi näyttää luettelon asiakkaista sivun mukaan, jossa jokaisella sivulla on 10 riviä.
Seuraava esimerkki käyttää ROW_NUMBER() -palautetta asiakkaille riviltä 11 kohtaan 20, joka on toinen sivu:
Tulos on seuraava:
Tässä esimerkissä:
- Ensinnäkin CTE käytti
ROW_NUMBER()-funktiota jokainen tuloksen rivi asettaa peräkkäisen kokonaisluvun. - Toiseksi ulompi kysely palautti toisen sivun rivit, joiden rivinumero on 11-20.
Tässä opetusohjelmassa olet oppinut käyttämään SQL Server ROW_NUMBER() -toimintoa peräkkäisen kokonaisluvun määrittämiseksi jokaiselle kyselyn osion riville.