select
source_of_data,
convert(varchar(10),a.DATECREATED,101),
COUNT(*)
from some_table a
group by
source_of_data,
convert(varchar(10),a.DATECREATED,101)
order by
source_of_data,
convert(varchar(10),a.DATECREATED,101)
Output data looks like this:
mainframe 4/5/11 22
mainframe 4/6/11 45
mainframe n/n/nn nn
sqlserver 4/5/11 44
sqlserver 4/6/11 67
sqlserver n/n/nn nn
But I want the output to look like this:
mainframe 4/5/11 22
sqlserver 4/5/11 44
mainframe 4/6/11 45
sqlserver 4/6/11 67
mainframe n/n/nn nn
sqlserver n/n/nn nn
This way I can easily verify visually if a grouped entry for any particular date is missing—say for some day we get mainframe data but sqlserver data is missing. Can someone please help modify the query so I don’t have to resort to writing a stored proc to achieve my objective?
If I understand correctly, just switch your order by to
then your results should come out how you describe
Edit: converting it to varchar, it will not work as expected. Convert it to DATE type.