MySQL funkcija count() tiek izmantota, lai atgrieztu izteiksmes skaitu. Tas ļauj mums saskaitīt visas rindas vai tikai dažas tabulas rindas, kas atbilst noteiktam nosacījumam. Tas ir apkopojošas funkcijas veids, kura atgriešanas veids ir BIGINT. Šī funkcija atgriež 0, ja tā neatrod nevienu atbilstošu rindu.
Skaitīšanas funkciju varam izmantot trīs veidos, kas ir izskaidroti tālāk:
- Skaits (*)
- Skaits (izteiksme)
- Skaits (atšķirīgs)
Apspriedīsim katru sīkāk.
COUNT(*) Funkcija: Šī funkcija izmanto priekšrakstu SELECT, lai atgrieztu rezultātu kopas rindu skaitu. Rezultātu kopā ir visas rindas bez nulles, nulles un dublikātu rindas.
COUNT(izteiksme) Funkcija: Šī funkcija atgriež rezultātu kopu, nesaturot Null rindas kā izteiksmes rezultātu.
java virkne isempty
COUNT (atšķirīga izteiksme) Funkcija: Šī funkcija atgriež atšķirīgo rindu skaitu, nesaturot NULL vērtības kā izteiksmes rezultātu.
Sintakse
Tālāk ir norādīta funkcijas COUNT() sintakse:
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Parametru skaidrojums
aggregate_expression: Tas norāda kolonnu vai izteiksmi, kuras NON-NULL vērtības tiks skaitītas.
tabulas_nosaukums: Tas norāda tabulas, no kurām vēlaties izgūt ierakstus. Klauzulā FROM ir jābūt vismaz vienai tabulai.
KUR nosacījumi: Tas nav obligāti. Tajā ir norādīti nosacījumi, kas jāizpilda, lai ierakstus varētu atlasīt.
MySQL count() funkcijas piemērs
Apsveriet tabulu ar nosaukumu “darbinieki”, kurā ir šādi dati.
Ļaujiet mums saprast, kā darbojas count () funkcijas MySQL .
1. piemērs
Izpildiet šo vaicājumu, kas izmanto funkciju SKAITS (izteiksme), lai aprēķinātu kopējo tabulā pieejamo darbinieku vārdu skaitu:
lateksa fontu izmēri
mysql> SELECT COUNT(emp_name) FROM employees;
Izvade:
Piemērs2
Izpildiet šo paziņojumu, kas atgriež visas rindas no darbinieku tabulas, un WHERE klauzula norāda rindas, kuru vērtība kolonnā emp_age ir lielāka par 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Izvade:
3. piemērs
Šajā paziņojumā tiek izmantota funkcija COUNT (atšķirīga izteiksme), kas saskaita Non-Null un atšķirīgas rindas kolonnā emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Izvade:
MySQL Count() funkcija ar GROUP BY klauzulu
Mēs varam arī izmantot funkciju count() ar klauzulu GROUP BY, kas atgriež elementa skaitu katrā grupā. Piemēram, šāds paziņojums atgriež darbinieku skaitu katrā pilsētā:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Pēc veiksmīgas izpildes mēs iegūsim šādu rezultātu:
MySQL Count() funkcija ar HAVING un ORDER BY klauzulu
Apskatīsim vēl vienu klauzulu, kas izmanto ORDER BY un Have klauzu ar funkciju count(). Izpildiet šādu paziņojumu, kurā norādīts darbinieka vārds, kuram ir vismaz divi vienādi vecumi, un sakārto tos, pamatojoties uz uzskaites rezultātu:
lasot csv failu java
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Šis paziņojums sniegs šādu rezultātu: