Как оформить заказ по предложению, чтобы получить записи правильно с данными в форме 01/2020 - PullRequest
0 голосов
/ 03 февраля 2020

Привет, у меня есть некоторые записи в файле с номерами, такими как 01/2020, 02/2020 и т. Д., И я использовал порядок по порядку, чтобы упорядочить записи по этим номерам, но он корректно возвращается с 01/2020 до 10 / 2020 тогда покажи мне 100/2020 есть ли решение? пожалуйста, поделитесь со мной.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Моя проблема была решена с помощью ORDER BY ABS(MyField)

0 голосов
/ 03 февраля 2020

Если мое предположение верно, согласно которому формат этой записи running_no/year, то вам нужно извлечь год, чтобы включить его в порядке. Рассмотрим пример, приведенный ниже.

Если данные похожи на:

+----------+
|   Value  |
+----------+
| 01/2020  |
| 02/2020  |
| 10/2020  |
| 100/2020 |
| 01/2021  |
| 10/2021  |
+----------+

В силу того, что 4 цифры на оборотной стороне представляют текущий год, вы можете извлечь год из if несколькими способами. Здесь я показываю два примера, используя RIGHT() и SUBSTRING_INDEX().

example 1:
SELECT * FROM table ORDER BY RIGHT(Value,4) ASC, ABS(Value) ASC;

example 2:
SELECT * FROM table ORDER BY SUBSTRING_INDEX(Value,'/',-1) ASC, SUBSTRING_INDEX(Value,'/',1) ASC;

Есть и другие способы достичь этого, если вы уверены, что результат будет возвращен так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...