Сортировка SQL по году-месяцу с отметки времени - PullRequest
0 голосов
/ 31 января 2019

У меня есть таблица с двумя временными метками (созданный_утвержденный_отчет)

Я хочу отсортировать свой результат по году и месяцу созданного__ и в течение месяца по подтвержденному номеру:

Данные:

created_at, confirmed_at
2018-12-23, 2018-12-06
2018-12-15, 2019-01-20
2019-01-08, 2019-01-11
2019-01-12, 2019-01-13

Результат:

created_at, confirmed_at
2019-01, 2019-01-13
2019-01, 2019-01-11
2018-12, 2019-01-20
2018-12, 2018-12-06

Как использовать временную метку для сортировки по YYYY-мм (и как я могу сделать это быстро -> как я могу индексировать для этого запроса?)

1 Ответ

0 голосов
/ 31 января 2019

С функциями year () и month ():

select 
  year(created_at) created_year, 
  month(created_at) created_month, 
  confirmed_at 
from t
order by created_year, created_month, confirmed_at

или если вы хотите только часть YYYY-MM:

select DATE_FORMAT(created_at, "%Y-%m"), confirmed_at from t
order by year(created_at), month(created_at), confirmed_at

или:

select DATE_FORMAT(created_at, "%Y-%m") created, confirmed_at from t
order by created, confirmed_at

или:

select DATE_FORMAT(created_at, "%Y-%m") created, confirmed_at from t
order by EXTRACT(YEAR_MONTH FROM created_at), confirmed_at
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...