2012-03-20 6 views

ответ

1
SELECT distinct * FROM XYZ ORDER BY displayname 

или

SELECT * FROM XYZ group by displayname ORDER BY displayname 
+0

'группа by' предшествует' порядка by' – Guffa

+0

Конечно. Спасибо за это. –

1

Использование DISTINCT.

SELECT DISTINCT displayname FROM xyz ORDER BY displayname; 
3

Вы можете использовать distinct:

select distinct displayname from XYZ order by displayname 

Вы можете использовать group by:

select displayname from XYZ group by displayname order by displayname 

Если вы используете distinct вы можете получить только displayname поле, если у вас есть еще одно поле, которое есть то же значение в каждом значении displayname.

Если вы используете group by, вы можете использовать агрегаты для получения значений из каждой группы. Например, вы можете вернуться, сколько раз каждый displayname происходит в таблице:

select displayname, count(*) as cnt from XYZ group by displayname order by displayname 
0
SELECT * FROM XYZ ORDER BY displayname 
    UNION 
    SELECT * FROM XYZ ORDER BY displayname 
+0

Это бессмысленно. Поскольку второй запрос идентичен первому, в результате будут записаны только записи из первого запроса. – Guffa

+0

@Guffa - Странно, что это, вероятно, произведет отличные результаты из-за 'union' (после того, как вы удалите недействительные предложения' order by', которые есть). Хотя я и не вижу причины для этого, когда гораздо чище использовать 'distinct'. – Leigh