ORDER BY
(MONTH(resource_date) - MONTH(GETDATE()) + 12) % 12,
DATEADD(year, YEAR(GETDATE()) - YEAR(resource_date), resource_date),
YEAR(resource_date)
De eerste term stelt de primaire bestelling in op de maand resource_date
(de huidige maand is de eerste, de vorige, de laatste). De tweede termijn bestelt de tijdstempels binnen een maand, ongeacht het jaar van de datum. Als uw datums geen tijddelen bevatten of als de tijddelen absoluut niet relevant zijn, kunt u deze vervangen door DAY(resource_date)
. Ten slotte houdt de laatste term rekening met het jaartal voor overigens identieke datums (kan ook gewoon resource_date
zijn ).