Использовать MAX()
:
SELECT
station_mr,
station_name,
MAX(mode_1) mode_1,
MAX(mode_2) mode_2,
MAX(mode_3) mode_3,
MAX(mode_4) mode_4
FROM mytable
GROUP BY station_mr, station_name
MAX()
игнорирует NULL
значения.Это также будет работать с MIN()
.
Однако помните, что если в одном из ваших столбцов есть два ненулевых значения для данной станции, появится только одно из них (наибольшее, в алфавитном порядке).