Linq查询计数和分组依据

时间:2012-07-02 01:15:36

标签: c# linq

有谁能告诉我如何在Linq中执行此SQL查询?

SELECT [id], COUNT(*) FROM [data].[dbo].[MyTable] GROUP BY [id]

2 个答案:

答案 0 :(得分:5)

您可以尝试这种方法:

 var res = ctx.MyTable  // Start with your table
    .GroupBy(r => r.id) / Group by the key of your choice
    .Select( g => new {Id = g.Key, Count = g.Count()}) // Create an anonymous type w/results
    .ToList(); // Convert the results to List

答案 1 :(得分:2)

你可以试试这个

var res = from r in MyTable 
          group p by r.id into grouped
          select new {id = g.key, total = g.Count()};

然后,当你必须使用它时,只需ToList() 你也可以在select new之后完成。 我没有Visual Studio 2010来试试,但是 我认为它会起作用