ROW_NUMBER (Suomi)
Syntaksi
Kuvaus illustration row_number.gif
Katso myös:
”Analyyttiset toiminnot” saadaksesi tietoja syntaksista, semantiikasta ja rajoituksista
Tarkoitus
ROW_NUMBER
on analyyttinen toiminto. Se antaa yksilöllisen numeron jokaiselle riville, johon sitä käytetään (joko jokaiselle osion riville tai jokaiselle kyselyn palauttamalle riville) järjestyksellisessä rivisarjassa, joka on määritetty order_by_clause
, joka alkaa 1.
Pesimällä alakysely käyttämällä ROW_NUMBER
kyselyn sisällä, joka noutaa ROW_NUMBER
-arvot määritetyn alueen, voit löytää tarkan rivijoukon sisäisen kyselyn tuloksista. Tämän toiminnon käytön avulla voit toteuttaa ylhäältä N, alhaalta N ja sisäiseltä N raportoinnin. Yhdenmukaisten tulosten saavuttamiseksi kyselyn on varmistettava deterministinen lajittelujärjestys.
Et voi käyttää ROW_NUMBER
tai muuta analyyttistä toimintoa kohteelle expr
. Eli et voi sijoittaa analyyttisiä funktioita, mutta voit käyttää muita sisäänrakennettuja funktiolausekkeita kentälle expr
. Lisätietoja ”div id =” 784429c3ff ”>
-muodon oikeellisista muodoista on kohdassa Tietoja SQL-lausekkeista. div id = ”681ee1d753″>
, seuraava esimerkki antaa jokaiselle riville numerot työntekijän vuokrauspäivämäärän mukaan:
ROW_NUMBER
on ei-määrittävä funktio. employee_id
on kuitenkin ainutlaatuinen avain, joten funktion tämän sovelluksen tulokset ovat deterministisiä.
Katso myös:
FIRST_VALUE ja LAST_VALUE esimerkkejä epädeterministisestä käyttäytymisestä
Seuraava sisäinen N-kysely valitsee kaikki rivit employees
-taulukosta, mutta palauttaa vain viisikymmentäyhden – yhden. sadas rivi:
SELECT last_name FROM (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R FROM employees) WHERE R BETWEEN 51 and 100;