日期:2014-05-18  浏览次数:20507 次

难题 sql 过滤出重复的数据(包含或者两个时间有交集) 望高手指导
id 课程 开始时间 结束时间
1 数学 2010-06-28 09:30:00.000 2010-06-28 10:30:00.000 ----这个时间和下面一行被包含
1 语文 2010-06-28 09:30:00.000 2010-06-28 12:00:00.000
2 语文 2010-06-28 10:40:00.000 2010-06-28 12:00:00.000

怎么用sql过滤出第一行望高手指导

------解决方案--------------------
你的发问不是很清楚具体: 
1.过滤出重复的数据 具体是什么意思? 是不是说取多个时间段的合集? 
取出最早的开始时间做开始时间, 且取出最晚的结束时间做结束时间?
2.如果以上猜想是对的, 合并时间是把整个表的都合一起, 还是按什么为一组的合一起? 也没说明, 所以不清楚你的问题背景. 
不过为了尽可能及时解决你的问题, 我下面给出四种答案供你选择:

1.所有的行合并一起:
SQL code
select min(开始时间) as 开始时间, max(结束时间) as 结束时间 from ta order by id