Microsoft Transact SQL (T - SQL) spørrespråk lar deg raskt tilbake antallet rader som samsvarer en gitt tilstand ved hjelp av en telling funksjon . Den kan brukes i kombinasjon med andre samlede funksjoner eller med distinkt punkt for å oppnå mer detaljerte resultater . Ved hjelp av aggregerte funksjoner, for eksempel GJENNOMSNITT ( ) , med en telling setningen gjør det mulig å få antall forekomster av hver gjennomsnittet. Ved hjelp av GROUP BY er en annen måte å få resultater med en telling per rad med resultater. Telle Funksjoner
T -SQL har to funksjoner som brukes til å utføre telling . Den ANTALL ( )-funksjonen brukes til å bestemme det totale antallet rader som oppfyller kriteriene for resultater som vil passe inn i et heltall datatype , med en maksimal resultat av 2147483647 . For tilstander som medfører større verdier, bruker COUNT_BIG ( )-funksjonen i stedet.
Syntax
Begge telling funksjoner bruker samme syntaks og har samme input parametere . Som standard inkluderer teller alle radene , inkludert de med dupliserte og null verdier. Syntaksen er ANTALL ( [ All eller Tydelig ] , uttrykk) . Å telle alle radene , inkludert dupliserte og null verdier, bruker du ALL søkeord eller bruke en stjerne ( * ) . For å begrense resultatet til antall unike , ikke- null verdier, bruker DISTINCT søkeord. For å begrense resultatsettet videre , legger et uttrykk etter at ALL eller forskjellige søkeord. Dette er vanligvis brukt til å begrense antallet til en bestemt kolonne , men kan være en gyldig T - SQL-uttrykk . Subqueries og aggregerte funksjoner er ikke tillatt i denne konteksten.
Hjelp Aggregate funksjoner med Count
ANTALL ( ) og COUNT_BIG ( )-funksjonen kan brukes med andre aggregerte funksjoner , som for eksempel gjennomsnitt, sum, eller maks . Bare inkludere disse i SELECT-setningen sammen med tellingen . For eksempel for å finne antall unike farger for elementer i inventaret ditt , kan du bruke : en
SELECT COUNT ( DISTINCT farge)
FRA Varelager
Begrense Count resultater
Når du bruker telle, kan du velge å begrense søkene ved hjelp av en der klausul eller en gruppe av uttalelse til videre bryte ned resultatene dine. Ved hjelp av en uttalelse som dette, for eksempel, kan tillate deg å finne ut fargen av alle ikke - avviklet elementer i din beholdning . Dette vil gi deg greven av hver farge , snarere enn bare det totale antallet du ville fått hvis du ikke bruker GROUP BY-ledd .
SELECT count ( * ) , farge
FRA inventar
WHERE status ! = ' utgått '
GROUP BY farge