Сортировать W / YYYY формат даты - PullRequest
0 голосов
/ 26 января 2020

Как бы вы отсортировали строку из Mysql базы данных, которая имеет формат:

W/YYYY

Пример:

1/2020
1/2020
2/2020
3/2020
4/2020
4/2020
10/2020
11/2020
11/2020
30/2020
31/2020

Я бы хотел отсортировать отдельные даты по номеру последней недели , Сейчас я использую эту команду SQL для получения отдельных дат:

SELECT DISTINCT `week` FROM `mytable`;

Можно прямо в SQL или PHP получить вывод, подобный этому?

31/2020
30/2020
11/2020
10/2020
4/2020
3/2020
2/2020
1/2020

1 Ответ

1 голос
/ 26 января 2020

Использовать строковые функции. Для сортировки по убыванию:

order by right(week, 4) desc,
         substring_index(week, '/', 1) + 0 desc

Альтернативный метод не преобразует в число:

order by right(week, 4) desc,
         length(week) desc,
         week desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...