Microsoft Transact SQL ( T - SQL ) frågespråk kan du snabbt återvända antalet rader som matchar ett givet tillstånd att använda en räknefunktion . Den kan användas i kombination med andra mängdfunktioner eller med DISTINCT klausulen att åstadkomma mer detaljerade resultat . Använda mängdfunktioner , t.ex. MEDEL ( ) , med ett antal uttalande gör att du kan få det antal instanser av varje snitt . Använda GROUP BY är ett annat sätt att få resultat med en räkning per rad av resultat. Räkna funktioner
T - SQL har två funktioner som används för att utföra räkna . COUNT ( ) funktionen används för att fastställa det totala antalet rader som uppfyller kriterierna för resultat som passar i ett heltal datatyp , med ett maximalt utfall av 2147483647 . För förhållanden som resulterar i större värden , använd COUNT_BIG ( ) funktionen i stället .
Syntax
Båda räknar funktioner använder samma syntax och har samma input parametrar . Som standard innehåller räkna alla rader , inklusive de med dubbla och null -värden . Syntaxen är COUNT ( [ All eller Distinkt ] , uttryck ) . Att räkna alla rader , inklusive dubbletter och null -värden , använder du nyckelordet ALL eller använda en asterisk ( * ) . För att begränsa resultatet till antalet unika , icke - null- värden använder nyckelordet DISTINCT . För att begränsa sökresultatet vidare , lägg ett uttryck efter ALL eller nyckelordet DISTINCT . Detta används ofta för att begränsa antalet till en specifik kolumn , men kan vara någon giltig T - SQL-uttryck . Underfrågor och mängdfunktioner är inte tillåtna i detta sammanhang .
Använda mängdfunktioner med greve
COUNT ( ) och COUNT_BIG ( ) -funktioner kan användas med andra sammansatta funktioner, såsom medelvärde , summa , eller max . Helt enkelt inkludera dessa i select uttalande tillsammans med räkningen . Till exempel för att hitta antalet unika färger för objekt i ditt lager , kan du använda :
SELECT COUNT ( DISTINCT färg ) katalog
från lagret Addera begränsa Count resultat
När räkningen , kan du välja att begränsa dina frågor med en WHERE-sats eller en grupp genom uttalande att ytterligare bryta ner dina resultat . Använda ett uttalande som detta , till exempel, kan tillåta dig att ta reda på färgen på alla icke - avvecklade objekt i ditt lager . Detta skulle ge dig räkningen för varje färg , snarare än bara det totala antalet du skulle få om du inte använder GROUP BY.
SELECT COUNT ( * ) , färg
FRÅN inventering
WHERE status ! = ' utgångna '
GROUP BY färg