La función COUNT
cuenta el número de filas de un grupo. Su sintaxis es:
COUNT( { * | [ DISTINCT
| ALL ] expr } );
Su sintaxis
puede ser descompuesta, de la siguiente manera:
COUNT(*)
COUNT(DISTINCT
expr)
COUNT(ALL
expr)
COUNT(expr)
Cuando COUNT(*) es llamado, todas las filas en el grupo, incluido
valores null o duplicados son contados. Cuando COUNT(DISTINCT expr) es
ejecutado, solo las ocurrencias únicas de expr son contadas por cada grupo. La palabra
ALL es parte de la sintaxis por defecto, así que COUNT(ALL expr) y COUNT(expr)
son equivalente. Esta cuanta el numero de ocurrencias no nulas de expr en cada
grupo. El tipo de dato de expr puede ser NUMBER, DATE, CHAR y VARCHAR2. Si expr
es un null, es ignorado a menos que sea manejado con las funciones NVL, NVL2 y
COALESCE.
Ejemplo:
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES
-- INCLUIR VALORES NULOS
SELECT COUNT(*) FROM HR.countries;
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES
-- SIN INCLUIR VALORES NULOS
-- COMPORTAMIENTO POR DEFECTO
SELECT COUNT(region_id) FROM HR.countries;
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES
-- SIN INCLUIR VALORES NULOS
-- COMPORTAMIENTO POR DEFECTO
SELECT COUNT(ALL region_id) FROM HR.countries;
-- CONTAR EL NUMERO TOTAL DE REGISTROS UNICOS EN COUNTRIES
-- SIN INCLUIR VALORES NULOS
SELECT COUNT(DISTINCT region_id) FROM HR.countries;
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES AGRUPADOS POR
REGION_ID
-- INCLUIR VALORES NULOS
SELECT region_id, COUNT(*) TOTAL_REGISTROS FROM HR.countries
GROUP BY region_id;
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES AGRUPADOS POR
REGION_ID
-- SIN INCLUIR VALORES NULOS
SELECT region_id, COUNT(region_id) TOTAL_REGISTROS FROM HR.countries
GROUP BY region_id;
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES AGRUPADOS POR
REGION_ID
-- SIN INCLUIR VALORES NULOS
SELECT region_id, COUNT(ALL region_id) TOTAL_REGISTROS FROM HR.countries
GROUP BY region_id;
-- CONTAR EL NUMERO TOTAL DE REGISTROS EN COUNTRIES AGRUPADOS POR
REGION_ID
-- SIN INCLUIR VALORES NULOS
SELECT region_id, COUNT(DISTINCT region_id) TOTAL_REGISTROS FROM HR.countries
GROUP BY region_id;
SELECT NVL(region_id,'-1') REGION_ID, COUNT(NVL(region_id,'-1'))
TOTAL_REGISTROSFROM HR.countries GROUP
BY region_id;
Comentarios
Publicar un comentario