2010-01-16 60 views
95

如何在linq(vb.net)中編寫此查詢?Linq與組通過計數

select B.Name 
from Company B 
group by B.Name 
having COUNT(1) > 1 
+1

可能的重複http://stackoverflow.com/questions/1333265/having-and-conditional-count-in-linq-query – 2012-08-29 17:31:40

回答

206

像這樣:

from c in db.Company 
group c by c.Name into grp 
where grp.Count() > 1 
select grp.Key 

或者使用方法的語法:

Company 
    .GroupBy(c => c.Name) 
    .Where(grp => grp.Count() > 1) 
    .Select(grp => grp.Key); 
+7

感謝您提供這兩種形式的語法! :D – Jess 2015-11-17 20:38:55

5

對於任何人要做到這一點在VB(因爲我是,但沒有找到任何東西)

From c In db.Company 
Select c.Name Group By Name Into Group 
Where Group.Count > 1 
+0

我很難理解爲什麼'Group By'在VB中的'Select'子句之後。 – Arvin 2017-11-08 03:16:58