Есть максимум два значения? То есть возможно получить только одно значение «НЕТ» или по одному каждому. Если это так, вы можете сделать это:
SELECT name, COALESCE(MAX(NULLIF(value, 'NONE'), 'NONE')
FROM <tablename>
GROUP BY name
Я полагаю, что для общего случая будет работать следующее (возможно одно или несколько значений, отличных от NONE):
SELECT name, value FROM <tablename> WHERE value <> 'NONE'
UNION
SELECT name, value FROM <tablename> WHERE value = 'NONE'
AND name NOT IN (SELECT name FROM <tablename> WHERE value <> 'NONE')