2013-05-15 106 views
2

假設我有標記Name一列,其含有(可能)的表重複唯一的用戶名的條目。我可以寫什麼LINQ-to-SQL語句來唯一遍歷用戶名?換句話說:選擇用戶名獨特

下面是表的一個例子:

Name Log 
User1 05/13/13 
User2 05/13/13 
User2 05/14/13 
User3 05/15/13 
User1 05/15/13 

我要選擇唯一的用戶名:

User1, User2, User3. 

提前感謝!

+1

您的意思是linq-to-sql?或者你要求在IEnumerable上使用linq?或者你問的SQL查詢? – Matthew

+0

你的意思是你想按用戶分組日誌,或者你只是想要一個不同的用戶名列表? –

回答

7
SELECT DISTINCT NAME FROM TABLE; 

or in LinQ;

var names = Table.Select(t => t.Name).Distinct().ToList(); 
3

創建一個linq查詢並對結果使用.Distinct擴展方法。
例如:

var users = (from logfile in logfiles select logfile.Name).Distinct(); 
+0

'logfile中的logfile選擇logfile.Name order by logfile.Name'也可以工作嗎?我是linq的新手,但看起來像'Distinct'將不得不第二次在列表中運行,以刪除重複的順序。但我不確定按照意志順序完成工作。 – Cemafor