упорядочение столбца на основе рассчитанного значения - PullRequest
0 голосов
/ 14 мая 2019

У меня есть значения ниже в столбце

    Q1 2018
    Q2 2018
    Q3 2018
    Q4 2018
    feb 2018
    mar 2018
    Q1 2019
    Q2 2019
    Q3 2019
    jan 2018
    sep 2018
    dec 2018
    jan 2019
    feb 2019
    mar 2019

У меня есть значения выше, которые рассчитываются по некоторым параметрам.для некоторых данных это значение указывается с месяцем, а для некоторых - как квартал.

Можно ли как-то упорядочить их, используя порядок, когда все значения находятся в одном столбце, означает, что месячные значения и квартальные значения должныбыть отсортирован.

вывод должен быть как

Q1 2018
Q2 2018
Q3 2018
Q4 2018
Q1 2019
Q2 2019
Q3 2019
jan 2018
feb 2018
mar 2018
sep 2018
dec 2018
jan 2019
feb 2019
mar 2019

1 Ответ

1 голос
/ 14 мая 2019

Я думаю, что это то, что вы хотите:

order by len(col),         -- put the quarters first
         substr(col, 4),   -- order by year
         (case when col not like 'Q%'
               then to_date(col, 'MON YYYY') 
          end),            -- order months by date
         col               -- order quarters by quarter
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...