Я хочу заказать запрос Postgres в зависимости от условий в таблицеPostgres Сортировка несколько столбцов с условием
id sensor_id alarmTime clearedTime
415068 3734 2016-04-20 12:25:32 2016-04-27 21:05:44
415070 3734 2016-04-21 12:25:32 null
415071 3734 2016-03-22 12:25:32 2016-04-29 21:15:44
415072 3734 2016-04-23 12:25:32 null
415073 3734 2016-04-20 12:25:32 2016-04-22 22:05:45
415074 3734 2016-02-26 12:25:32 2016-04-27 23:15:24
Из приведенных выше таблиц, я хочу сначала упорядочить по нулям первых и время сигнализации с остальными строками заказывается только по очищенному времени. чтобы получить некоторые вещи, как этот
id sensor_id alarmTime clearedTime
415070 3734 2016-04-21 12:25:32 null
415072 3734 2016-04-23 12:25:32 null
415068 3734 2016-04-20 12:25:32 2016-04-27 21:05:44
415073 3734 2016-04-20 12:25:32 2016-04-22 22:05:45
415071 3734 2016-03-22 12:25:32 2016-04-29 21:15:44
415074 3734 2016-02-26 12:25:32 2016-04-27 23:15:24
Я пытался что-то вроде этого
select * from table
ORDER BY
case alarm.clearedTime is NOT NULL
when TRUE THEN alarmTime
else clearedTime
end DESC NULLS FIRST;
В чем проблема? Ваше условие заказа не ясно, пожалуйста, объясните с более подробной информацией. –
Ваш образец выглядит неправильно '415072' shoul будет первым, чем' 415070' –