2011-05-27 37 views
1

搜索数据我有四列的名字在我的数据表和相应的值作为SrNo,RollNo,Name,Age计数和数据表上

SrNo ,Roll No,Name,Age 
1,  1,  ABC, 20 
2,  2,  DEF, 22 
3,  3,  ABC, 25 

我要搜索一个名字有多少不同的存在&其计数。

请建议

感谢

回答

1

这样做很可能会与LINQ最简单的方法(IMO,反正):

var groups = table.AsEnumerable() 
        .GroupBy(x => x.Field<string>("Name")) 
        .Select(g => new { Name = g.Key, Count = g.Count() }); 

这是假设你真的有一个DataTable数据。如果它实际上仍然在数据库中,你可以使用类似的LINQ to SQL查询:

var groups = dataContext.GroupBy(x => x.Name) 
         .Select(g => new { Name = g.Key, Count = g.Count() }); 

其实你可以使用的GroupBy过载做到这一切在一个方法调用:

var groups = dataContext.GroupBy(x => x.Name, 
           (key, group) => new { Name = key, 
                 Count = group.Count() }); 
+0

妈你快! – 2011-05-27 06:08:28

+0

不错的解决方案,但是在实现它的时候,我在x上收到错误,因为它说x不能用,因为它已经在父项中使用了。 – usr021986 2011-05-27 06:29:30

+0

@ user373083:如果在方法的其他地方已经有了一个名为'x'的变量,只要改变其他地方的'x'就可以了。 'z'。 – 2011-05-27 06:30:43

0

写创建此摘要并使用ADO.NET执行它的SQL查询。

0

如果你想使用sql server。下面就是答案

Select Name, count(Name) 
From YourTableNamew 
Group by Name 
1
select count(1) as cnt, Name from mytable group by Name 
0
SELECT COUNT(DISTINCT column_name) FROM table_name group by column_name 
+0

集团正在做不同的工作。所以我们应该从查询中省略它。 – Pankaj 2011-05-27 10:22:34