Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Минимальное значение SQL

#sql


Необходимо выбрать минимальное значение из поля, но если окажется что оно равно 0
то нужно взять следующее значение... Т.е. если простая выборка возвращает например
числа 13, 34, 5, 0, 89 - мне нужно получить 5, а если простая выборка возвращает все
строки в которых только нули то тогда нужно возвратить 0...

Спасибо
    


Ответы

Ответ 1



COALESCE(MIN(CASE WHEN val != 0 THEN val END), 0)

Ответ 2



SELECT IF(t.min_res = 0 AND t.max_res = 0, 0, t.res) FROM (SELECT MIN(a.value) AS min_res, MAX(a.value) AS max_res, MIN(b.value) AS res FROM `table` a LEFT JOIN (SELECT * FROM `table` WHERE `value` <> 0) AS b ON b.`value` ) t; value здесь - имя вашего столбца, table - имя вашей таблицы

Комментариев нет:

Отправить комментарий