Допустим, у меня есть эта таблица:
id colorName 1 красный 2 синих 3 красных 4 синих
Как выбрать одного представителя каждого цвета? Результат: 1 красный 2 синих
Не случайные представители, но ...
select color, min(id) from mytable group by color;
select distinct colorname from mytable
В MS SQL Server и Oracle:
MS SQL Server
Oracle
SELECT id, colorName FROM ( SELECT id, colorName, ROW_NUMBER() OVER (PARTITION BY colorName ORDER BY id) AS rn FROM colors ) q WHERE rn = 1
Попробуйте это:
SELECT colorName, MIN(id) AS id FROM table GROUP BY colorname
Вот самый простой способ:
SELECT DISTINCT colorName FROM mytable ORDER BY colorName
ВЫБЕРИТЕ DISTINCT colorname ОТ ВАШЕГО ПЛАНА ПО ID; (при желании изменить id на colorname *
или
ВЫБЕРИТЕ имя цвета ИЗ ГРУППОВОЙ ГРУППЫ ПО colorname;