SQL-запрос, чтобы выбрать один из каждого типа Скажем, у меня есть эта таблица: id colorName 1 красный 2 синих 3 красных 4 синий Как выбрать один представитель каждого цвета? Результат: 1 красный 2 синих Ответ 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;
Ответ 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
Ответ 6 SELECT DISTINCT colorname FROM yourtable ORDER BY id; (при необходимости измените идентификатор на colorname) или SELECT colorname FROM yourtable GROUP BY colorname;