伯爵&在DataTable上搜索数据

时间:2011-05-27 06:04:49

标签: c# database

我的数据表中有四列名SrNo,RollNo,Name,Age,相应的值为

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

我想搜索有多少不同的名字出现&他们的数量。

请建议

由于

5 个答案:

答案 0 :(得分: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() });

答案 1 :(得分:1)

select count(1) as cnt, Name from mytable group by Name

答案 2 :(得分:0)

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

答案 3 :(得分:0)

如果要使用sql server。以下是答案

Select Name, count(Name)
From YourTableNamew 
Group by Name

答案 4 :(得分:0)

SELECT COUNT(DISTINCT column_name) FROM table_name group by column_name