sql >> Base de Datos >  >> RDS >> Sqlserver

consulta para seleccionar el recuento de registros para cada año

Un método simple para obtener todos los años en los datos, incluso cuando no cumplen las condiciones del where cláusula -- es usar agregación condicional:

select year(fact_date) as yyyy,
       sum(case when stat = 1 and id = 16 then 1 else 0 end) as cnt_16
from tbl_fact
group by year(fact_date)
order by yyyy;