Última actualización el 26 de febrero de 2020 08:07:42 (UTC / GMT +8 horas)
Función COUNT ()
La función SQL COUNT () devuelve el número de filas en una tabla que satisfacen los criterios especificado en la cláusula WHERE. Establece el número de filas o valores de columna no NULL.
COUNT () devuelve 0 si no hay filas coincidentes.
Sintaxis:
COUNT(*)COUNT( expression )
La sintaxis anterior es la sintaxis estándar ANSI de SQL 2003 general. Esto ayuda a comprender la forma en que se utiliza la función SQL COUNT (). Pero diferentes proveedores de bases de datos pueden tener diferentes formas de aplicar la función COUNT ().
A continuación, puede ver que MySQL, PostgreSQL y Microsoft SQL Server siguen la misma sintaxis que se indicó anteriormente. Pero DB2 y Oracle difieren ligeramente.
En general, puede usar * o ALL o DISTINCT o alguna expresión junto con COUNT para CONTAR el número de filas w.r.t. alguna condición o todas las filas, dependiendo de los argumentos que esté usando junto con la función COUNT ().
Soporte DBMS: función COUNT ()
DBMS | Comando |
MySQL | Compatible |
PostgreSQL | Compatible |
SQL Server | Compatible |
Oracle | Compatible |
Sintaxis de DB2 y Oracle:
COUNT ({*| expression}) OVER (window_clause)
Parámetros:
Nombre | Descripción |
---|---|
TODOS | Se aplica a todos los valores. ALL devuelve el número de valores no NULL. |
DISTINCT | Valores duplicados ignorados y COUNT devuelve el número de valores únicos no nulos. |
expresión | Expresión formada por una sola constante, variable, función escalar o nombre de columna y también pueden ser partes de una consulta SQL que comparan valores con otros valores. Expresión de cualquier tipo excepto texto o imagen. No se permiten las funciones agregadas ni las subconsultas. |
* | CUENTA todas las filas de la tabla de destino, ya sea que incluyan NULL o no. |
Diagrama de sintaxis: función COUNT ()
En las páginas siguientes, hemos discutido cómo aplicar COUNT () con varias cláusulas SQL. Para esas aplicaciones, hemos utilizado Oracle 10g Express Edition.
Algo importante sobre la función COUNT ():
Cuando se usa * para COUNT (), todos los registros (filas) se CUENTAN si algún contenido es NULL pero COUNT (column_name) no CUENTA un registro si su campo es NULL. Vea los siguientes ejemplos:
SQL COUNT filas en una tabla
En el siguiente ejemplo, se usa un carácter de asterisco (*) seguido por SQL COUNT () que indica todas las filas de la tabla incluso si hay algún valor NULO.
Tabla de muestra: pedidos
Para obtener el número de filas en la tabla «pedidos» , se puede utilizar la siguiente instrucción SQL:
Código SQL:
Salida:
COUNT(*)--------- 34
Presentación ilustrada:
Seleccione COUNT (*) de varias tablas
La siguiente consulta COUNT el número de filas de dos tablas diferentes (aquí usamos empleados y departamentos) usando el comando COUNT (*).
Código SQL:
Salida:
TOTAL_EMPLOYEES NO_OF_DEPARTMENTS--------------- ----------------- 107 27
SQL COUNT () con nombre de columna
En este ejemplo, la función SQL COUNT () excluye los valores NULL para una columna específica si se especifica la columna como argumento entre paréntesis de COUNT func ción.
Tabla de muestra: listofitem
Para obtener el número de filas en la tabla «listofitem» con la siguiente condición:
1. COUNT número de filas para la columna «coname»
se puede utilizar la siguiente instrucción SQL:
Código SQL:
Resultado:
COUNT(CONAME)------------- 2
Explique:
La declaración anterior CUENTA las filas de la columna «coname» que no son NULL .
SQL COUNT filas con encabezado de columna definido por el usuario
Para obtener el número de filas en la tabla «pedidos» con la siguiente condición:
1. el resultado debe mostrarse con un encabezado «Número de filas»,
se puede utilizar la siguiente instrucción SQL:
Código SQL:
Salida:
Number of Rows-------------- 36
SQL COUNT () con cláusula where
La cláusula WHERE se puede utilizar junto con Función SQL COUNT () para seleccionar registros específicos de una tabla contra una condición dada.
Ejemplo:
Tabla de muestra: pedidos
Para obtener el número de filas en la tabla «pedidos» con la siguiente condición:
1.ord_amount contra el pedido es más de 1500,
se puede utilizar la siguiente declaración SQL:
Resultado:
Number of Rows-------------- 22
Aplicación de la función COUNT ()
En las páginas siguientes, hemos discutido cómo aplicar COUNT () con varias cláusulas SQL. Para esas aplicaciones, hemos utilizado Oracle 10g Express Edition.
La página COUNT con DISTINCT analiza cómo aplicar la función COUNT con DISTINCT y también cómo aplicar la función COUNT con la cláusula ALL. A diferencia de usar *, cuando se usa ALL, los valores NULL no se seleccionan.
La página COUNT HAVING analiza cómo aplicar la función COUNT con la cláusula HAVING y HAVING y GROUP BY.
COUNT con GROUP La página BY analiza cómo aplicar la función COUNT con GRUPO BY en orden ascendente y descendente.
Nota: Los resultados de dicha declaración SQL que se muestra aquí se obtienen utilizando Oracle Database 10g Express Edition
Aquí hay una presentación de diapositivas de todas las funciones agregadas.
Ejercicios de práctica de SQL
- Ejercicios de SQL, práctica, solución
- SQL Recuperar datos de tablas
- Operadores relacionales y booleanos de SQL
- Operadores especiales y comodines de SQL
- Funciones agregadas de SQL
- Salida de consulta de formato SQL
- Consultas SQL en varias tablas
- FILTRADO y CLASIFICACIÓN en la base de datos de recursos humanos
- UNIONES SQL
- UNIONES SQL
- UNIONES SQL en Base de datos de recursos humanos
- SUBQUERIES SQL
- SUBQUERIES SQL
- SQL SU BQUERIES en la base de datos de recursos humanos
- SQL Union
- Vista SQL
- Administración de cuentas de usuario SQL
- Base de datos de películas
- Consultas BÁSICAS en la base de datos de películas
- SUBQUERIES en la base de datos de películas
- UNE a la base de datos de películas
- Base de datos de fútbol
- Introducción
- Consultas BÁSICAS en la base de datos de fútbol
- SUBQUERIES en la base de datos de fútbol
- UNE consultas en la base de datos de fútbol
- Base de datos del hospital
- Introducción
- BÁSICA, SUBQUERÍAS y UNIONES
- Base de datos de empleados
- Consultas BÁSICAS en la base de datos de empleados
- SUBQUERIES en la base de datos de empleados
- ¡Más por venir!