Ich möchte das Jahr und dann das Ende der Woche und dann nach dem Jahr und dann die Woche Ende gruppieren. Das Problem mit diesem Code ist, dass es alles außer der Sortierung tut.SQL Datum Formatierung und Sortierung Ausgabe
SELECT datepart(YEAR, CONVERT(DATE, PH.CreatedOn)) Year,
Convert(varchar(2), Datepart(month, DATEADD(D, -1 * DATEPART(dw, PH.createdon) + 7, PH.createdon)), 101) + '/' + Convert(varchar(2), Datepart(Day, DATEADD(D, -1 * DATEPART(dw, PH.createdon) + 7, PH.createdon)), 101) [Week Processed],
COUNT(PH.new_purchasehistoryid) AS 'Registrations'
FROM new_purchasehistory PH
GROUP BY DATEPART(YEAR, CONVERT(DATE, PH.createdon)), Convert(varchar(2), Datepart(month, DATEADD(D, -1 * DATEPART(dw, PH.createdon) + 7, PH.createdon)), 101) + '/' + Convert(varchar(2), Datepart(Day, DATEADD(D, -1 * DATEPART(dw, PH.createdon) + 7, PH.createdon)), 101)
ORDER BY DATEPART(YEAR, CONVERT(DATE, PH.createdon)) DESC, Convert(varchar(2), Datepart(month, DATEADD(D, -1 * DATEPART(dw, PH.createdon) + 7, PH.createdon)), 101) + '/' + Convert(varchar(2), Datepart(Day, DATEADD(D, -1 * DATEPART(dw, PH.createdon) + 7, PH.createdon)), 101) desc
Hier ist das Ergebnis. Ich denke, ich brauche eine andere Ziffer. Gibt es einen einfacheren Weg?
Year Week Processed Registrations
2016 2/6 5935
2016 2/27 4288
2016 2/20 4205
2016 2/13 3177
2016 1/9 10422
2016 1/30 3834
2016 1/23 3411
2016 1/16 2718
2015 9/5 8560
2015 9/19 6245
2015 9/12 7427
2015 8/8 6489
2015 8/29 6558