У меня есть запрос в PostgreSQL
, который возвращает:Укажите порядок для запроса вручную
id operation quantity date
----------------------------------------
1282 WITHDRAW 20 2015-01-01
541 INCOMING 50 2015-01-01
4788 ACCEPT 17 2015-01-01
4789 ACCEPT 20 2015-01-01
.....
Порядок запроса сортировать записи по date
...
Однако, я хочу сделать дополнительный заказ operation
: сначала INCOMING
, затем ACCEPT
, затем WITHDRAW
. Заказ между записями той же операции, не важно:
541 INCOMING 50 2015-01-01
4788 ACCEPT 17 2015-01-01
4789 ACCEPT 20 2015-01-01
1282 WITHDRAW 20 2015-01-01
или
541 INCOMING 50 2015-01-01
4789 ACCEPT 20 2015-01-01
4788 ACCEPT 17 2015-01-01
1282 WITHDRAW 20 2015-01-01
как хорошо.
Я не могу использовать operation
столбец, ни id
колонки, так как это не даст желаемого результата ...
Select ...
from ...
where ...
order by date
Как можно вручную задать порядок, я хочу ..?
Я ищу синтаксис SQL-то вроде:
order by date, (operation order by: INCOMING,ACCEPT,WITHDRAW)
Возможный дубликат [Postgresql: Заказ столбцов в соответствии пользовательских критериев] (http://stackoverflow.com/questions/14713798/postgresql-ordering-columns-to-match-custom-criteria) или http://stackoverflow.com/questions/6332043/sql-order-by-multiple-values-in -специальный-порядок –