我有一个临时数据库表,其中某些数据是重复的。
EmployeeId StartDate EndDate Column1 Column2
1000 2009/05/01 2010/04/30 X Y
1000 2010/05/01 2011/04/30 X Y
1000 2011/05/01 2012/04/30 X X
1000 2012/05/01 2013/04/30 X Y
1000 2013/05/01 NULL X X
如上所示,有些行是多余的,可以合并为单个行而不会违反数据有效性。我想尽可能合并这样的行,结果应该像这样
EmployeeId StartDate EndDate Column1 Column2
1000 2009/05/01 2011/04/30 X Y
1000 2011/05/01 2012/04/30 X X
1000 2012/05/01 2013/04/30 X Y
1000 2013/05/01 NULL X X
如何做到这一点?
如果可以确保所有开始日期和结束日期都是连续的,请尝试以下操作:
with t1 as --tag first row with 1 in a continuous time series
(
select t1.*, case when t1.column1=t2.column1 and t1.column2=t2.column2
then 0 else 1 end as tag
from your_table t1
left join your_table t2
on t1.EmployeeId= t2.EmployeeId and dateadd(day,-1,t1.StartDate)= t2.EndDate
)
select t1.EmployeeId, t1.StartDate,
case when min(T2.StartDate) is null then null
else dateadd(day,-1,min(T2.StartDate)) end as EndDate,
t1.Column1, t1.Column2
from (select t1.* from t1 where tag=1 ) as t1 -- to get StartDate
left join (select t1.* from t1 where tag=1 ) as t2 -- to get a new EndDate
on t1.EmployeeId= t2.EmployeeId and t1.StartDate < t2.StartDate
group by t1.EmployeeId, t1.StartDate, t1.Column1, t1.Column2
问题内容: 我们有三个按地区物理隔离的数据库,其中一个位于洛杉矶,旧金山和纽约。所有数据库共享相同的架构,但包含特定于其区域的数据。我们正在寻求将这些数据库合并为一个数据库并进行镜像。我们需要保留每个区域的数据,但是将它们合并到一个数据库中。这给我们带来了很多问题,例如,我们肯定会有重复的主键,而外键可能是无效的。 我希望找到一个对这样的任务有经验的人,他可以提供一些技巧,策略和经验,以帮助我们完
问题内容: 使用rails或mysql查询删除mysql数据库中重复记录的最佳方法是什么? 问题答案: 您可以通过以下方式将不同的记录复制到新表中:
schema-database:yelp_camp,collection:campgrounds,集合中的记录数等于4 问题-集合中存在重复记录,希望删除除第一条记录外的所有记录。
我有两个csv文件,我想读入熊猫的数据帧。我想合并它们,但显示时间不能重复。 如果ShowingDateTime是重复的,我想从第一个数据帧而不是第二个数据帧中选择行。我不确定用熊猫做这件事的最好方法。我想排序基于升序ShowingDateTime之后。 CSV1: CSV2: 预期合并结果(在df合并后写入csv):
有两个这样的数据帧(示例) df1 df2 然后,我想加入df1和df2,但是我不知道如何做到这一点,因为在第二个df中我只有开始和结束时间。如何根据第二个df的数据将条件放在第一个df上? 这就是我想要的
本文向大家介绍ASP.NET中GridView和Repeater重复数据如何合并,包括了ASP.NET中GridView和Repeater重复数据如何合并的使用技巧和注意事项,需要的朋友参考一下 这几天做一个项目有用到表格显示数据的地方,客户要求重复的数据列需要合并,就总结了一下GridView 和 Repeater 关于重复数据合并的方法。 效果图如下 : GridView : 前台代码 : G