Как упорядочить результат по модовому состоянию? - PullRequest
0 голосов
/ 19 июня 2019

Я хочу заказать вывод на основе условия.

| Id |    Date  |
-----------------
| 1  | Jan 2020 |
-----------------
| 2  | Feb 2020 |
-----------------
| 3 | Mar 2020 |
-----------------
| 4 | Apr 2020 |
-----------------
| 5 | May 2020 |
-----------------
| 6  | Jun 2019 |
-----------------
| 7  | Jul 2019 |
-----------------
| 8  | Aug 2019 |
-----------------
| 9  | Sep 2019 |
-----------------
| 10  | Oct 2019 |
-----------------
| 11  | Nov 2019 |
-----------------
| 12  | Dec 2019 |
-----------------

Данные, доступные от пользователя, просто Id, я не получаю никакой другой информации от пользователя,И на основе идентификатора мне нужно упорядочить записи.

Итак, допустим, у меня в конце концов «Доступный идентификатор» равен 6, ожидаемый результат будет выглядеть как

-----------------
| Id |    Date  |
-----------------
| 6  | Jun 2019 |
-----------------
| 7  | Jul 2019 |
-----------------
| 8  | Aug 2019 |
-----------------
| 9  | Sep 2019 |
-----------------
| 10  | Oct 2019 |
-----------------
| 11  | Nov 2019 |
-----------------
| 12  | Dec 2019 |
-----------------
| 1  | Jan 2020 |
-----------------
| 2  | Feb 2020 |
-----------------
| 3 | Mar 2020 |
-----------------
| 4 | Apr 2020 |
-----------------
| 5 | May 2020 |
-----------------

Tl; dr;Я хочу упорядочить детали из id и вернуться к оставшимся записям, т.е. значение меньше id.

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

select * from TableName where Id < @id

1 Ответ

2 голосов
/ 19 июня 2019

Вы можете сделать это, выполнив условное упорядочение:

select * from tablename 
order by (Id >= 6) desc, Id

См. Демоверсию .или:

select * from tablename 
order by 
  case when Id >= 6 then 0 else 1 end,
  Id

См. демоверсию .Результаты:

| Id  | Date     |
| --- | -------- |
| 6   | Jun 2019 |
| 7   | Jul 2019 |
| 8   | Aug 2019 |
| 9   | Sep 2019 |
| 10  | Oct 2019 |
| 11  | Nov 2019 |
| 12  | Dec 2019 |
| 1   | Jan 2020 |
| 2   | Feb 2020 |
| 3   | Mar 2020 |
| 4   | Apr 2020 |
| 5   | May 2020 |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...