ORDER BY
(MONTH(resource_date) - MONTH(GETDATE()) + 12) % 12,
DATEADD(year, YEAR(GETDATE()) - YEAR(resource_date), resource_date),
YEAR(resource_date)
První termín nastavuje primární objednávku podle měsíce resource_date
(aktuální měsíc bude první, předchozí, poslední). Druhý termín objednává časová razítka do měsíce bez ohledu na rok data. Pokud vaše data neobsahují časové části nebo pokud jsou časové části absolutně irelevantní, můžete je nahradit DAY(resource_date)
. Konečně poslední termín bere v úvahu rok pro jinak identická data (může být také jednoduše resource_date
).