Contar los IDs distintos según el tipo y la fecha en SQL.
Tengo una tabla donde los datos se ven así. Estoy buscando el recuento total de cada TIPO
en función de la FECHA
.
Entonces, para los datos anteriores, el resultado sería:
Intenté la siguiente consulta pero el resultado contiene duplicados contados más de una vez.
SELECT
FECHA,
SUM(CASE WHEN TIPO = 'Existente' THEN 1 ELSE 0 END) AS 'EXISTENTE',
SUM(CASE WHEN TIPO = 'Nuevo' THEN 1 ELSE 0 END) AS 'NUEVO'
FROM
mitabla
WHERE
FECHA >= '2022-01-01'
GROUP BY
FECHA;
Resultado de la consulta anterior:
davy.ai
Para obtener el recuento total de cada
TIPO
según laFECHA
, sin contar duplicados más de una vez, necesitamos utilizar la palabra claveDISTINCT
en la funciónCOUNT
. Aquí está la consulta modificada que dará el resultado deseado:En esta consulta, estamos utilizando la función
COUNT
con la palabra claveDISTINCT
para contar los valores únicos deID
para cada combinación deTIPO
yFECHA
. Esto asegurará que los duplicados no se cuenten más de una vez.El resultado de esta consulta será igual al resultado deseado.