Подтвердить что ты не робот

SQL-запрос, чтобы выбрать один из каждого типа

Скажем, у меня есть эта таблица:

id colorName
1 красный
2 синих
3 красных
4 синий

Как выбрать один представитель каждого цвета?
Результат:
1 красный
2 синих

4b9b3361

Ответ 1

Не случайные представители, но...

select color, min(id)
from   mytable
group by color;

Ответ 2

select distinct colorname from mytable

Ответ 3

В 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

Ответ 4

Попробуйте следующее:

SELECT colorName,  
MIN(id) AS id  
FROM table  
GROUP BY colorname  

Ответ 5

Вот самый простой способ:

SELECT DISTINCT colorName FROM mytable ORDER BY colorName

Ответ 6

SELECT DISTINCT colorname FROM yourtable ORDER BY id; (при необходимости измените идентификатор на colorname)

или

SELECT colorname FROM yourtable GROUP BY colorname;