La funció MySQL count() s'utilitza per retornar el recompte d'una expressió. Ens permet comptar totes les files o només algunes files de la taula que coincideixin amb una condició especificada. És un tipus de funció agregada el tipus de retorn de la qual és BIGINT. Aquesta funció retorna 0 si no troba cap fila coincident.
Podem utilitzar la funció de recompte de tres formes, que s'expliquen a continuació:
què és el nombre de l'alfabet
- Recompte (*)
- Recompte (expressió)
- Recompte (distint)
Parlem de cadascun amb detall.
COUNT(*) Funció: Aquesta funció utilitza la instrucció SELECT per retornar el recompte de files d'un conjunt de resultats. El conjunt de resultats conté totes les files no nuls, nul·les i duplicades.
COUNT(expressió) Funció: Aquesta funció retorna el conjunt de resultats sense contenir files nul·les com a resultat d'una expressió.
COUNT (expressió diferent) Funció: Aquesta funció retorna el recompte de files diferents sense contenir valors NULL com a resultat de l'expressió.
Sintaxi
La sintaxi de la funció COUNT() és la següent:
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Explicació dels paràmetres
expressió_agregada: Especifica la columna o expressió els valors NO NULL de la qual es comptaran.
nom_taula: Especifica les taules des d'on voleu recuperar els registres. Hi ha d'haver almenys una taula llistada a la clàusula FROM.
ON condicions: És opcional. Especifica les condicions que s'han de complir perquè els registres siguin seleccionats.
Exemple de funció MySQL count().
Penseu en una taula anomenada 'empleats' que conté les dades següents.
Entendrem com funcionen les funcions count(). MySQL .
Exemple 1
Executeu la consulta següent que utilitza la funció COUNT (expressió) per calcular el nombre total de noms d'empleats disponibles a la taula:
llarg a int java
mysql> SELECT COUNT(emp_name) FROM employees;
Sortida:
Exemple 2
Executeu la instrucció següent que retorna totes les files de la taula de l'empleat i la clàusula WHERE especifica les files el valor de les quals a la columna emp_age és superior a 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Sortida:
Exemple 3
Aquesta declaració utilitza la funció COUNT (expressió diferent) que compta les files diferents i no nuls a la columna emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Sortida:
Funció MySQL Count() amb la clàusula GROUP BY
També podem utilitzar la funció count() amb la clàusula GROUP BY que retorna el recompte de l'element de cada grup. Per exemple, la declaració següent retorna el nombre d'empleats a cada ciutat:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Després de l'execució correcta, obtindrem el resultat següent:
Funció MySQL Count() amb la clàusula HAVING i ORDER BY
Vegem una altra clàusula que utilitza la clàusula ORDER BY i Havent amb la funció count(). Executeu la següent instrucció que dóna el nom de l'empleat que té almenys dos anys iguals i els ordena segons el resultat del recompte:
què és l'ordre d'exportació a Linux
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Aquesta declaració donarà la sortida de la següent manera: