Personas que lo han encontrado útil: 1 de 1 - Valorar este tema

COUNT (Transact-SQL)

Devuelve el número de elementos de un grupo. COUNT funciona como la función COUNT_BIG. La única diferencia entre ambas funciones está en los valores devueltos. COUNT siempre devuelve un valor de tipo de datos int. COUNT_BIG siempre devuelve un valor de tipo de datos bigint. Puede ir seguida de la cláusula OVER.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )
ALL

Aplica la función de agregado a todos los valores. ALL es el valor predeterminado.

DISTINCT

Especifica que COUNT devuelva el número de valores únicos no NULL.

expression

Es una expression de cualquier tipo excepto text, image o ntext. No se permite utilizar funciones de agregado ni subconsultas.

*

Especifica que se deben contar todas las filas para devolver el número total de filas de una tabla. COUNT(*) no acepta parámetros y no se puede utilizar con DISTINCT. COUNT(*) no requiere un parámetro expression porque, por definición, no utiliza información sobre ninguna columna específica. COUNT(*) devuelve el número de filas de una tabla especificada sin deshacerse de las duplicadas. Cuenta cada fila por separado. Se incluyen las filas que contienen valores NULL.

COUNT(*) devuelve el número de elementos de un grupo. Se incluyen valores NULL y duplicados.

COUNT(ALL expression) evalúa expression en todas las filas del grupo y devuelve el número de valores no NULL.

COUNT(DISTINCT expression) evalúa expression en todas las filas del grupo y devuelve el número de valores no NULL únicos.

Si los valores devueltos son superiores a 2^31-1, COUNT genera un error. En su lugar, utilice COUNT_BIG.

A. Usar COUNT y DISTINCT

En el ejemplo siguiente se muestra el número de cargos diferentes que puede tener un empleado que trabaja en Adventure Works Cycles.

USE AdventureWorks2008R2;
GO
SELECT COUNT(DISTINCT JobTitle)
FROM HumanResources.Employee;
GO

El conjunto de resultados es el siguiente.

-----------

67

(1 row(s) affected)

B. Usar COUNT(*)

En el ejemplo siguiente se muestra el número total de empleados que trabajan en Adventure Works Cycles.

USE AdventureWorks2008R2;
GO
SELECT COUNT(*)
FROM HumanResources.Employee;
GO

El conjunto de resultados es el siguiente.

-----------

290

(1 row(s) affected)

C. Usar COUNT(*) con otros agregados

En el ejemplo siguiente se muestra que COUNT(*) se puede combinar con otras funciones de agregado de la lista seleccionada.

USE AdventureWorks2008R2;
GO
SELECT COUNT(*), AVG(Bonus)
FROM Sales.SalesPerson
WHERE SalesQuota > 25000;
GO

El conjunto de resultados es el siguiente.

----------- ---------------------

14 3472.1428

(1 row(s) affected)

¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.