Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

requête pour sélectionner le nombre d'enregistrements pour chaque année

Une méthode simple pour obtenir toutes les années dans les données - même lorsqu'elles ne remplissent pas les conditions de where clause -- consiste à utiliser l'agrégation conditionnelle :

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;