我有两行在一个表中具有相似的数据。我想删除来自一个表的两行之间的重复数据,如何使用C#ASP.NET查询将其删除?
我使用print(all_data)
[[0],[ 0.3322441, -0.34410527, -0.1462533 , 0.35244817, -0.3557416, -0.3362794 ], [ 0.9750831, -0.24571404 , 0.12960567, 0.14683421 ,0.00650549, -0.21060513]]
删除重复的数据,但显示错误:
“由于无法比较,因此无法将图像数据类型选择为DISTINCT”
这是我的代码:
distinct()
这是预期的结果:
但是结果是这样的:
因此重复,我需要显示两行之间的数据,并将其合并为一个。
var query = (from user in context.Users
join group in context.Groups on user.ID equals group.UserID
orderby user.Name
where group.GroupID == nameID && user.IsDeleted == false ||
userGroup.GroupID == fullID && user.IsDeleted == false
where user.IsDeleted == false
select user);
在SQL Server中,我成功删除了重复数据,如下所示:
where group.GroupID == nameID && userMaster.IsDeleted == false || userGroup.GroupID == fullID && user.IsDeleted == false
但是如何用C#代码将其删除?
答案 0 :(得分:0)
您可以像这样使用SelectMany
:
var partitioned = query.GroupBy(x => x.ID, x.GroupID, x.NameID, x.Name)
.SelectMany(g =>
g.Select((j, i) => new { j.ID, j.GroupID, j.NameID, j.Name, row_num = i + 1 }))
.Where(r => r.row_num = 1);
答案 1 :(得分:-1)
如果您有重复的行,则可以使用“跳过”将其删除,如下所示:
选择用户。跳过(1)
如果您有两个以上的重复记录,则也可以使用“ Take(1)”。
希望这会对您有所帮助。
祝您编程愉快!!!!