SQL COUNT () -funktion (Svenska)

Senaste uppdatering 26 februari 2020 08:07:42 (UTC / GMT +8 timmar)

COUNT () -funktion

SQL COUNT () -funktionen returnerar antalet rader i en tabell som uppfyller kriterierna anges i WHERE-klausulen. Det ställer in antalet rader eller icke-NULL-kolumnvärden.
COUNT () returnerar 0 om det inte fanns några matchande rader.

Syntax:

COUNT(*)COUNT( expression )

Syntaxen ovan är den allmänna syntaxen för SQL 2003 ANSI. Detta hjälper dig att förstå hur SQL COUNT () -funktionen används. Men olika databasleverantörer kan ha olika sätt att tillämpa COUNT () -funktionen.

Nedan kan du se att MySQL, PostgreSQL och Microsoft SQL Server följer samma syntax som ovan. Men DB2 och Oracle skiljer sig något.

Sammantaget kan du använda * eller ALL eller DISTINCT eller något uttryck tillsammans med COUNT för att RÄKA antalet rader w.r.t. något villkor eller alla rader, beroende på argumenten du använder tillsammans med funktionen COUNT ().

DBMS Support: COUNT () -funktion

DBMS Kommando
MySQL Stöds
PostgreSQL Stöds
SQL Server Stöds
Oracle Stöds

DB2 och Oracle Syntax:

COUNT ({*| expression}) OVER (window_clause)

Parametrar:

Namn Beskrivning
ALL Gäller alla värden. ALL returnerar antalet icke-NULL-värden.
DISTINCT Ignorerade dubblettvärden och COUNT returnerar antalet unika värden utan noll.
uttryck Uttryck består av en enda konstant, variabel, skalär funktion eller kolumnnamn och kan också vara bitarna i en SQL-fråga som jämför värden mot andra värden. Uttryck av vilken typ som helst utom text eller bild. Aggregerade funktioner och underfrågor är inte tillåtna.
* RÄKNAR alla rader i måltabellen oavsett om de innehåller NULL eller inte.

Syntaxdiagram – COUNT () -funktion

På de följande sidorna har vi diskuterat hur man använder COUNT () med olika SQL-klausuler. För dessa applikationer har vi använt Oracle 10g Express Edition.

En viktig sak med COUNT () -funktionen:

När * används för COUNT (), alla poster (rader) räknas om något innehåll NULL men COUNT (kolumnnamn) RÄKnar inte en post om dess fält är NULL. Se följande exempel:

SQL COUNT rader i en tabell

I följande exempel används ett asterisk tecken (*) följt av SQL COUNT () som indikerar alla rader i tabellen även om det finns något NULL-värde.

Exempeltabell: order

För att få antal rader i ”order” -tabellen kan följande SQL-uttalande användas:

SQL-kod:

Utdata:

 COUNT(*)--------- 34

Bildpresentation:

Välj COUNT (*) från flera tabeller

Följande fråga COUNT antalet rader från två olika tabeller (här använder vi anställda och avdelningar) med kommandot COUNT (*).

SQL-kod:

Output:

TOTAL_EMPLOYEES NO_OF_DEPARTMENTS--------------- ----------------- 107 27

SQL COUNT () med kolumnnamn

I detta exempel utesluter SQL COUNT () NULL-värden för en specifik kolumn om den anges som ett argument inom parentes för COUNT func tion.

Exempeltabell: listofitem

För att få antalet rader i tabellen ”listofitem” med följande villkor –

1. COUNT antal rader för kolumnen ”coname”

kan följande SQL-sats användas:

SQL-kod:

Output:

COUNT(CONAME)------------- 2

Förklara:

Ovanstående uttalande RÄKNAR de rader för kolumnen ”coname” som inte är NULL .

SQL COUNT rader med användardefinierad kolumnrubrik

För att få antal rader i ”order” -tabellen med följande villkor –

1. resultatet måste visas med rubriken ”Antal rader”,

följande SQL-sats kan användas:

SQL-kod:

Output:

Number of Rows-------------- 36

SQL COUNT () med var sats

WHERE-satsen kan användas tillsammans med SQL COUNT () -funktion för att välja specifika poster från en tabell mot ett visst villkor.

Exempel:

Exempeltabell: order

För att få antalet rader i tabellen ”order” med följande villkor –

1.ord_belopp mot ordern är mer än 1500,

kan följande SQL-sats användas:

Output:

Number of Rows-------------- 22

Tillämpning av COUNT () -funktionen

På de efterföljande sidorna har vi diskuterat hur man använder COUNT () med olika SQL-satser. För dessa applikationer har vi använt Oracle 10g Express Edition.

COUNT with DISTINCT-sidan diskuterar hur man använder COUNT-funktionen med DISTINCT och diskuterar också hur man använder COUNT-funktionen med ALL-satsen. Till skillnad från att använda *, när ALL används, väljs inte NULL-värden.

COUNT HAVING-sidan diskuterar hur man använder COUNT-funktionen med HAVING-sats och HAVING och GROUP BY.

COUNT with GROUP BY-sidan diskuterar hur man använder COUNT-funktionen med GRUPP BY i stigande ordning och i fallande ordning.

Obs: Utdata från nämnda SQL-sats som visas här tas med hjälp av Oracle Database 10g Express Edition

Här är en bildpresentation av alla aggregerade funktioner.

Öva SQL-övningar

  • SQL-övningar, öva, lösning
  • SQL Hämta data från tabeller
  • SQL-booleska och relationsoperatorer
  • SQL-jokertecken och specialoperatorer
  • SQL-aggregerade funktioner
  • SQL-formateringsfrågeutdata
  • SQL-quering på flera tabeller
  • FILTERING och SORTERING i HR-databas
  • SQL JOINS
    • SQL JOINS
    • SQL JOINS on HR-databas
  • SQL SUBQUERIES
    • SQL SUBQUERIES
    • SQL SU BQUERIES på HR-databas
  • SQL Union
  • SQL View
  • SQL User Account Management
  • Filmdatabas
    • GRUNDLÄGGANDE frågor om filmdatabas
    • UNDERFRÅGOR om filmdatabas
    • JOINS på filmdatabas
  • Fotbollsdatabas
    • Introduktion
    • GRUNDLÄGGANDE frågor om fotbollsdatabas
    • UNDERFRÅGOR om fotbollsdatabas
    • GÅR MED frågor om fotbollsdatabas
  • Sjukhusdatabas
    • Introduktion
    • GRUNDLÄGGANDE, UNDERFÖRSÄLJNINGAR och FÖRENINGAR
  • Anställdas databas
    • GRUNDLÄGGANDE frågor om anställdas databas
    • UNDERFRÅGOR om anställdas databas
  • Mer framöver!

Leave a Reply

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *