2010-01-24 12 views
9

Pregunta de SQL de Novato aquí ->¿Cómo cuento las ocurrencias por día en SQL?

Tengo una tabla de Ocurrencias que contiene una fila por cada vez que un usuario hace algo. Un usuario puede hacer las cosas varias veces al día. Se ve así:

Date  Username 
------ -------- 
1/1/9  User1 
1/1/9  User1 
1/1/9  User2 
1/2/9  User1 
1/2/9  User3 
1/3/9  User1 
1/3/9  User1 
1/3/9  User1 
1/3/9  User2 
1/3/9  User3 

Quiero una consulta simplemente devuelve el nombre de usuario y la cantidad (recuento) de días únicos que aparecen. Para el conjunto de datos anterior, el resultado Busco sería:

Username UniqueDaysAppeared 
-------- ------------------ 
User1  3 
User2  2 
User3  2 

me siguen dando la pata porque mi consulta es no devolver el recuento de únicas día por usuario, sino más bien el número de ocurrencias de el usuario en general.

Respuesta

20
SELECT Username, COUNT(DISTINCT(Date)) AS UniqueDaysAppeared 
FROM Occurrences 
GROUP BY Username 
+0

Como dicen en los anuncios de Staples, "¡Eso fue fácil!" En todos mis intentos, omití DISTINCT del agregado COUNT. Gracias. – Robert

+0

Y como Tommy Cooper diría "¡Solo así!" :) – AdaTheDev

Cuestiones relacionadas