У меня есть запрос, который возвращает 2+ строки. В этих результатах есть столбец, который мы сейчас можем назвать columnX . Давайте посмотрим на результаты этого примера:
columnX
100
86
85
70
нуль
нуль
Я получаю 6 строк, например, некоторые из них являются нулевыми, а некоторые - не нулевыми. Теперь я хочу просмотреть эти результаты и остановиться, как только найду строку, значение которой равно <>
null. Как я могу это сделать?
Дело в том, что всегда так сортируется. Так что если есть нули, они внизу. Это может быть результатом:
columnX
100
86
85
70
нуль
нуль
и это также:
columnX
100
86
85
70
Таким образом, в любом случае я могу найти первые ненулевые строки, которые могут быть нулевыми или нет. 70 в приведенных выше примерах. Я думаю, что CTE - хорошее начало ... но кое-что все еще не хватает. Вот как я получаю эти строки:
select columnx from mytable where someid = 12345
Значит, числа в columnx все вместе (потому что кто-то). Я действительно должен получить первую ненулевую строку из этого результата. Я не могу просто найти первую строку, которая не является нулевой из целого столбца x, я должен использовать условие (где someid = 12345) раньше. 70 - это просто пример, может быть и 90, так что я не могу получить минимальное значение из результатов. Нули всегда внизу, остальные могут быть не отсортированы. Это также может быть результатом:
columnX
100
23
80
78
нуль
нуль
В таком случае я хочу 78.