DataTable 过滤重复行

   /// <summary>
        /// 去除重复数据
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public DataTable FilterRepeatTable(DataTable table)
        {

            DataTable _table = table.Clone();
            foreach (DataRow row in table.Rows)
            {
                //field1要去除重复的字段,可以是多个字段
                //int rowCount = (from DataRow q in _table.Rows where q["field1"].ToString() == row["field1"].ToString() && q["field2"].ToString() == row["field2"].ToString() select q).ToList().Count();
                int rowCount = (from DataRow q in _table.Rows where q["SBMCBH"].ToString() == row["SBMCBH"].ToString() select q).ToList().Count();
                if (rowCount == 0)
                {
                    DataRow _row = _table.NewRow();
                    _row.ItemArray = row.ItemArray;
                    _table.Rows.Add(_row);
                }
            }
            return _table;
        }

时间: 2024-10-14 05:14:41

DataTable 过滤重复行的相关文章

DataTable去除重复行

//抽取dt中的特定列"Region","Cur","Year"组合成新的dat DataTable dat = dt.DefaultView.ToTable(false, new string[]{ "Region","Cur","Year" }); DataView dv = new DataView(w_dt); //虚拟视图吧,我这么认为 //去除dv中的重复行并组合成新的dt2

DataTable过滤重复字段

有时我们需要从DataTable中抽取Distinct数据,以前总是以对DataTable进行foreach之类纯手工方式获取. 近来发现DataView可以帮我们直接获取Distinct数据,汗一个! DataTable dataTable; DataView dataView = dataTable.DefaultView; DataTable dataTableDistinct = dataView.ToTable(true,"FieldName1","FieldNam

DataTable相关操作,筛选,取前N条数据,去重复行,获取指定列数据

#region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回      /// <summary>      /// DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回      /// eg:SortExprDataTable(dt,"Sex='男'","Time Desc",1)      /// </summary>

.Net多个DataTable合并,及过滤掉DataTable中重复数据行

DataTable dt01= new DataTable(); DataTable dt02= new DataTable(); DataTable dtRs = new DataTable(); dt01=sqlHelper.GetDataTable(strSQL001) dt02=sqlHelper.GetDataTable(strSQL002) //数据表dt02与dt01合并 dt01.Merge(dt02); //多个表合并可能产生重复数据,过滤掉重复数据 DataView dv =

DataTable去重复方法

//去掉重复行 DataTable table=new DataTable(); DataView dv = table.DefaultView; table = dv.ToTable(true, new string[] { "name", "code" }); 此时table 就只有name.code无重复的两行了,如果还需要id值则 table = dv.ToTable(true, new string[] { "id","nam

C#中删除DataTable中的行的方法

1.在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: •使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index):可以直接删除行•datatable.Rows[i].Delete().Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消

sql里将重复行数据合并为一行,数据用逗号分隔

DECLARE @T1 table ( UserID int , UserName nvarchar(50), CityName nvarchar(50) ); insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,UserName,CityName) values (2,'b','北京') insert into @T1 (UserID,UserName,CityName)

ROW_NUMBER() OVER函数的基本用法,也可用于去除重复行

语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号. 示例: xlh           row_num 1700              1 1500              2 1085             

查询消除重复行

--重复行select department_id from employees; select distinct department_id from employees; select distinct department_id,job_id from employees; 只有当110 AC_ACCOUNT 和 110 AC_MGR 相同时,才可以合并消除重复(要么左边改变成右边,要么右边变成左边)