2009-02-20 4 views

ответ

33

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

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

Попробуйте это:

SELECT colorName, 
MIN(id) AS id 
FROM table 
GROUP BY colorname 
8
select distinct colorname from mytable 
+2

ему тоже нужен идентификатор. –

8

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 
+0

Thats много кода для MIN (id) ...;) –

+3

Если есть третье поле, MIN не будет работать :) – Quassnoi

+1

Вам нужно поместить псевдоним после круглой скобки, чтобы заставить это работать MS SQL –

2

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

SELECT DISTINCT colorName FROM mytable ORDER BY colorName 
0

SELECT DISTINCT FROM ColorName yourtable ORDER BY ID; (изменить идентификатор ColorName при желании)

или

ВЫБОР ColorName ОТ yourtable GROUP BY ColorName;

Смежные вопросы