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