FIRST
Omschrijving
FIRST
is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de waarde van de eerste rij in de groep retourneert.De
PARTITION BY
bepaalt welke velden moeten worden gebruikt om een set invoerrijen in groepen te partitioneren. De ORDER BY
bepaalt hoe de rijen in de partitie worden gerangschikt.De invoerrijen worden in groepen gescheiden in groepen op basis van de partitioneringsvelden, de rijen worden geordend op basis van de volgordevelden en vervolgens de aggregatieexpressie (eerst voor deze functie) in elke groep berekend.
Syntaxis
whereFIRST(input_field)OVER(PARTITION BYpartitioning_field[,partitioning_field]ORDER BYordering_field[ASC | DESC] [,ordering_field[ASC | DESC]]ROWSstart_window_boundary)start_window_boundarycan be:UNBOUNDED PRECEDING
Retourwaarde
Retourneert een waarde van hetzelfde type als
invoerveld
.Invoerparameters
- input_field
- Vereist. Het veld waarop de aggregatiefunctie moet worden uitgevoerd. U kunt elke gebruikenNUMERICveld of aCURRENCYveld.
- OVER()
- Vereist.OVERmoet worden gebruikt binnen aFIRSTexpressie.
- PARTITION BYpartitioning_field
- Vereist. De . gebruikenPARTITION BYom een of meer velden op te geven voor het partitioneren van een groep invoerrijen. U kunt elk veldtype opgeven, behalve Valuta. Voorbeeld: u geeft het veld Maand op als het partitioneringsveld, zodat alle records met dezelfde waarde voor Maand in één partitie worden gegroepeerd.
- ORDER BYordering_field
- Vereist. De . gebruikenORDER BYom op te geven hoe de invoerrijen in de partitie moeten worden geordend met behulp van de waarden in het opgegeven veld binnen elke partitie. U kunt elk veldtype opgeven, behalve Valuta.U kunt de gebruikenDESCofASCtrefwoorden om te sorteren in aflopende volgorde (van hoge naar lage waarden, NULL-waarden zijn laatste) of oplopende volgorde (van lage naar hoge waarden, NULL-waarden zijn eerst) voor elk bestelveld. Als u geen sorteervolgorde voor een bestelveld opgeeft, worden de rijen automatisch in oplopende volgorde gesorteerd.
- RIJEN
- Vereist. DeROWSMet de component '' wordt het specifieke aantal rijen (ten opzichte van de huidige rij) binnen de partitie gedefinieerd door een vensterframe op te geven. U definieert het vensterframe door begin- en eindpunten binnen de partitie op te geven, ook wel venstergrenzen genoemd. Het vensterframe is de set invoerrijen in elke partitie, ten opzichte van de huidige rij, waarover de aggregatieexpressie moet worden berekend (eerste voor deze functie). Het raamkozijn kan één, meerdere of alle rijen van de partitie bevatten.
- window_boundary
- Vereist. De venstergrenzen definiëren het begin- en eindpunt van het raamkozijn. De venstergrenzen zijn relatief ten opzichte van de huidige rij.APRECEDINGMet de component '' wordt een venstergrens gedefinieerd die lager is dan de huidige rij (het aantal rijen dat vóór de huidige rij moet worden opgenomen). Als u slechts één venstergrens opgeeft, wordt de huidige rij als laatste rij in het vensterframe (de bovengrens) gebruikt. DeUNBOUNDEDtrefwoord bevat alle rijen in de opgegeven richting.