#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 - имя вашей таблицы
Комментариев нет:
Отправить комментарий