DataTable如何去除重复的行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataTable如何去除重复的行相关的知识,希望对你有一定的参考价值。

两种方法
1 数据库直接去除重复
select distinct * from 表名
去除了重复行distinct

2 对 DataTable直接进行操作
DataTable dt=db.GetDt("select * from 表名"); //获得datatable
DataView dv = new DataView(dt); //虚拟视图吧,我这么认为
DataTable dt2 = dv.ToTable(true, "name,age,hobby");
这个时候 dt2就是去除了重复的行了
解释一下
dv.ToTable(true, "name,age,hobby");
第一个参数,true 去除重复,false 不去除
第二个参数, 看意思能明白,你需要显示的字段,我这里显示"name,age,hobby"
参考技术A 如果一个都不保留的话可以分组查询,只要count()》1的删掉就可以了
如果保留一个的话,可以根据伪列,删掉伪列大的或者小的都可以的

使用LINQ去除重复项。

用的是ASP.NET,后台得到一个DataSet。将DataSet.Table[0]中的ID列进行判断是否重复,如果重复,就移除一项

参考技术A DataTable dataSource = new DataTable();
            var result = (from d in dataSource.AsEnumerable() select d["id"]).Distinct();

            DataTable newTable = new DataTable();

            foreach (var item in result)
            
                newTable.Rows.Add(item);
            

参考技术B linq是用来查询的,不能实现移除。 参考技术C Linq.Distinct()吧

以上是关于DataTable如何去除重复的行的主要内容,如果未能解决你的问题,请参考以下文章

c#中datatable如何去除重复数据

C# 处理DataTable 重复数据

DataTable中如何获取某列重复的行

怎么去除datatable 中一列的重复值【急】

怎么去除datatable 中一列的重复值【急】

去除DataTable中的重复数据