2012-03-20 49 views
0
SELECT * FROM XYZ ORDER BY displayname 

上述查询returen含有重复显示名称(columnname) 如何行选择独特的显示名称。有没有办法让一个结果方含独特displaynames从下列查询

回答

1
SELECT distinct * FROM XYZ ORDER BY displayname 

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

'组by'到来之前'为了by' – Guffa 2012-03-20 08:44:48

+0

当然。感谢那。 – 2012-03-20 08:46:51

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 2012-03-20 10:23:00

+0

@Guffa - 奇怪的是,它可能会产生不同的结果,因为'union'(在你删除无效的'order by'子句之后)。尽管我没有看到这样做的理由,但当它使用'distinct'时更清晰。 – Leigh 2012-03-21 01:52:44