2012-03-20 45 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