Du gruppierst mit GROUP BY und unter Einsatz der Datumsfunktionen (könnte DATEPART() heissen das Ding mit dem Du den Tag extrahierst und den Du in die GROUP BY-Klausel aufnimmst).
das wäre fatal, da somit nur tage gruppiert werden und nicht die monate und jahre, die aber auch eine rolle spielen. mit anderen worten ein GROUP BY über das gesamte datum ist besser, solange nicht die zeit darin enthalten ist.
Gemeint war sowas:
select
datepart(day,df_1),
datepart(month,df_1),
datepart(year,df_1),
count(*)
from
dt_1
group by
datepart(day,df_1),
datepart(month,df_1),
datepart(year,df_1)
Allerdings liegt df_1 gar nicht als Zeitstempel vor, sondern als String. Dann braucht man die Datumsfunktionen gar nicht.