logo

Funció MySQL Count().

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.

recompte de mysql ()

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:

recompte de mysql ()

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:

recompte de mysql ()

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:

recompte de mysql ()

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:

recompte de mysql ()

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:

recompte de mysql ()