Funcția SQL COUNT ()

Ultima actualizare pe 26 februarie 2020 08:07:42 (UTC / GMT +8 ore)

Funcția COUNT ()

Funcția SQL COUNT () returnează numărul de rânduri dintr-un tabel care îndeplinește criteriile specificate în clauza WHERE. Setează numărul de rânduri sau valori care nu sunt NULL ale coloanei.
COUNT () returnează 0 dacă nu au existat rânduri potrivite.

Sintaxă:

COUNT(*)COUNT( expression )

Sintaxa de mai sus este sintaxa generală standard ANSI SQL 2003. Acest lucru ajută la înțelegerea modului în care funcția SQL COUNT () este utilizată. Dar diferiți furnizori de baze de date pot avea moduri diferite de a aplica funcția COUNT ().

Mai jos, puteți vedea că MySQL, PostgreSQL și Microsoft SQL Server urmează aceeași sintaxă ca mai sus. Dar DB2 și Oracle diferă ușor.

În general, puteți utiliza * sau ALL sau DISTINCT sau o expresie împreună cu COUNT to COUNT numărul de rânduri w.r.t. unele condiții sau toate rândurile, în funcție de argumentele pe care le utilizați împreună cu funcția COUNT ().

Suport DBMS: funcția COUNT ()

SGBD Comandă
MySQL Suportat
PostgreSQL Suportat
SQL Server Suportat
Oracle Suportat

Sintaxa DB2 și Oracle:

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

Parametri:

Nume Descriere
ALL Se aplică tuturor valorilor. ALL returnează numărul de valori care nu sunt NULL.
DISTINCT Valorile duplicate ignorate și COUNT returnează numărul de valori unice nule.
expresie Expresie formată dintr-o singură constantă, variabilă, funcție scalară sau nume de coloană și poate fi, de asemenea, piesele unei interogări SQL care compară valorile cu alte valori. Expresie de orice tip, cu excepția textului sau a imaginii. Funcțiile și subinterogările agregate nu sunt permise.
* CONTA toate rândurile din tabelul țintă, indiferent dacă includ sau nu NULL-uri.

Diagrama de sintaxă – funcția COUNT ()

În paginile următoare, am discutat despre cum se aplică COUNT () cu diferite clauze SQL. Pentru acele aplicații, am folosit Oracle 10g Express Edition.

Un lucru important despre funcția COUNT ():

Când * este utilizat pentru COUNT (), toate înregistrările (rândurile) sunt COUNTATE dacă un anumit conținut este NULL, dar COUNT (nume_coloană) nu COUNTĂ o înregistrare dacă câmpul său este NULL. Vedeți următoarele exemple:

SQL COUNT rânduri într-un tabel

În exemplul următor, se folosește un caracter asterisc (*) urmat de SQL COUNT () care indică toate rândurile a tabelului, chiar dacă există orice valoare NULL.

Tabelul eșantion: comenzi

Pentru a obține numărul de rânduri în tabelul „comenzi” , poate fi utilizată următoarea instrucțiune SQL:

Cod SQL:

Ieșire:

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

Prezentare picturală:

Selectați COUNT (*) din mai multe tabele

Următoarea interogare COUNT numărul de rânduri din două tabele diferite (aici folosim angajați și departamente) folosind comanda COUNT (*).

Cod SQL:

Ieșire:

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

SQL COUNT () cu numele coloanei

În acest exemplu funcția SQL COUNT () exclude valorile NULL pentru o coloană specifică dacă este specificată coloana ca argument în parantezele funcției COUNT ziune.

Exemplu de tabel: listofitem

Pentru a obține numărul de rânduri din tabelul „listofitem” cu următoarea condiție –

1. COUNT număr de rânduri pentru coloana „coname”

poate fi utilizată următoarea instrucțiune SQL:

Cod SQL:

Ieșire:

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

Explicați:

Instrucțiunea de mai sus CONTOREAZĂ acele rânduri pentru coloana „coname” care nu sunt NULL .

SQL COUNT rânduri cu antet de coloană definit de utilizator

Pentru a obține numărul de rânduri în tabelul „comenzi” cu următoarea condiție –

1. rezultatul trebuie să fie afișat cu un titlu „Număr de rânduri”,

următoarea instrucțiune SQL poate fi utilizată:

Cod SQL:

Ieșire:

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

SQL COUNT () cu clauza where

Clauza WHERE poate fi utilizată împreună cu Funcția SQL COUNT () pentru a selecta înregistrări specifice dintr-un tabel în funcție de o anumită condiție.

Exemplu:

Exemplu de tabel: comenzi

Pentru a obține numărul de rânduri în tabelul „comenzi” cu următoarea condiție –

1.ord_amount împotriva comenzii este mai mare de 1500,

poate fi utilizată următoarea instrucțiune SQL:

Ieșire:

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

Aplicarea funcției COUNT ()

În paginile următoare, am discutat despre modul de aplicare a COUNT () cu diferite clauze SQL. Pentru aceste aplicații, am folosit Oracle 10g Express Edition.

Pagina COUNT cu DISTINCT discută despre modul de aplicare a funcției COUNT cu DISTINCT și, de asemenea, se discută despre modul de aplicare a funcției COUNT cu clauza ALL. Spre deosebire de utilizarea *, când se folosește ALL, valorile NULL nu sunt selectate.

Pagina COUNT HAVING prezintă modul de aplicare a funcției COUNT cu clauza HAVING și HAVING și GROUP BY.

COUNT cu GROUP Pagina BY discută despre cum să aplicați funcția COUNT cu GRUP BY în ordine crescătoare și descendentă.

Notă: ieșirile declarației SQL menționate aici sunt luate utilizând Oracle Database 10g Express Edition

Iată o prezentare cu diapozitive a tuturor funcțiilor agregate.

Exerciții SQL practice

  • Exerciții SQL, practică, soluție
  • SQL Preluare date din tabele / li>
  • Operatori SQL booleeni și relaționali
  • Operatori speciali SQL și wildcard
  • Funcții SQL agregate
  • Ieșire interogare formatare SQL
  • Interogare SQL pe mai multe tabele
  • FILTRARE și SORTARE pe baza de date HR
  • SQL JOINS
    • SQL JOINS
    • SQL JOINS pe Baza de date de resurse umane
  • SOLICITĂRI SQL
    • SOLICITĂRI SQL
    • SQL SU BQUERIES on HR Database
  • SQL Union
  • SQL View
  • SQL User Account Management
  • Movie Database
    • Interogări de bază despre baza de date cu filme
    • CERERE pe baza de date cu filme
    • ÎNSCRIEȚI pe baza de date cu filme
  • Baza de date Soccer
    • Introducere
    • Interogări de bază privind baza de date de fotbal
    • CERERE pe baza de date de fotbal
    • ÎNREGISTRARE la interogări despre baza de date de fotbal
  • Baza de date a spitalelor
    • Introducere
    • BAZĂ, CERERE ȘI ÎNSCRIERI
  • Baza de date a angajaților
    • Interogări de bază cu privire la baza de date a angajaților
    • CERERI la baza de date a angajaților
  • Mai multe!

Leave a Reply

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *