Ответ 1
Не случайные представители, но...
select color, min(id)
from mytable
group by color;
Скажем, у меня есть эта таблица:
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
:
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
SELECT DISTINCT colorname FROM yourtable ORDER BY id; (при необходимости измените идентификатор на colorname)
или
SELECT colorname FROM yourtable GROUP BY colorname;