edellisessä artikkelissa I kattaa käyttö-RIVIÄ EDELTÄVÄN ja SEURAAVAN vuonna yli lauseke. Tässä esimerkissä aion käyttää samaa tietokantaa ja taulukoita, jotka olen luonut edellisessä esimerkissä näyttää RIVIT RAJATON sekä EDELTÄVÄN ja SEURAAVAN.,
yksi TSQL: n uusista ominaisuuksista SQL Server 2012: ssa on rivit rajattomasti edeltävät ja rivit rajoittamattomina seuraavat vaihtoehdot. Rajoittamaton vaihtoehto käytettävissä, kun käytetään edeltäviä ja seuraavia vaihtoehtoja. Tässä on, miten ne toimivat.
RIVIT RAJATON EDELTÄVÄN
-- ROWS UNBOUNDED PRECEDINGselect Year, DepartmentID, Revenue, min(Revenue) OVER (PARTITION by DepartmentID ORDER BY ROWS UNBOUNDED PRECEDING) as MinRevenueToDatefrom REVENUEorder by departmentID, year;
tässä esimerkissä MinRevenueToDate luettelot alhaisin tuloja tämä rivi ja kaikki aiemmin rivit päivämäärän nykyisessä osaston tunnus.
Voit nähdä, että rivi 1 asettaa MinRevenueToDate että 10030, ja se ei muutu, ennen kuin rivi 7 alhaisempia tuloja vuonna.,
sitten rivi 16 alkaa uudelleen uudelle osastolle, jolla on tähän mennessä alhaisimmat juoksevat tulot. Sitten rivi 21 nollautuu pienempään tulolukuun.
RIVIT RAJATON SEURAAVAT
Nyt esimerkiksi RAJATON SEURAAVASTI:
-- ROWS UNBOUNDED FOLLOWINGselect Year, DepartmentID, Revenue, min(Revenue) OVER (PARTITION by DepartmentID ORDER BY ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as MinRevenueBeyondfrom REVENUEorder by departmentID, year;
Missä voit nähdä, että min(Tuotto) on laskettu kaikki rivit nykyisen rivin loppuun asetettu osioitu, jonka departmentID.,
RAJATON vaihtoehto on erittäin hyödyllistä määrittää, on laskenta-alusta on asetettu nykyisen rivin tai nykyisen rivin loppuun joukko tai ryhmä.
pidä mielessä, että tämä ominaisuus otettiin käyttöön SQL Server 2012: ssa, eikä sitä ole saatavilla aiemmissa painoksissa.
Linkit
- SQL-Kysely Koulutus
- CTE Tietojen Haku
- YLI Lauseke, jossa RIVIT ja ALUE
Vastaa