Это выглядит как простое агрегирование:
select service, max(for1) for1, max(for2) for2, max(for3) for3
from mytable
group by service
Это использует тот факт, что агрегатные функции, такие как max()
, игнорируют null
значения. Однако, если столбец имеет более одного не null
значения для данного service
, в наборе результатов будет отображаться только самое большое.
Неясно, каков тип данных ваших столбцов. У разных типов данных разные правила сортировки.