检查冲突,course1 和 course2 在 18 点冲突,course1 和 course3 在 18 点冲突,course2 和 course3 在 18 点冲突,则合并 course1 、course2 、course3 作为一条冲突记录,然后 1 和 2,1 和 3,2 和 3 在其它时间的冲突子集就不要了。然后 course3 和 course4 在 19 点冲突,course4 和 1 、2 没有冲突,那么 course3 、course4 作为一条冲突记录
select distinct a.ct,a.times,a.classroom,a.num
from (
select IF(course1 < course2, concat(course1, course2), concat(course2, course1)) as co,b.*
from chongtu_test a
left join (
select ct, group_concat(time) as times, classroom, a.num
from (
select time,classroom,group_concat(distinct course1) as ct,count(distinct course1) as num
from chongtu_test c
group by time, classroom
) a
group by ct, classroom, num
) b on b.ct like concat('%', a.course1, '%') and
b.ct like concat('%', a.course2, '%') and
b.times like concat('%', a.time, '%')
)a,(
select IF(course1 < course2,concat(course1,course2),concat(course2,course1)) as co,max(num) as num
from chongtu_test a
left join (
select ct, group_concat(time) as times, classroom, a.num
from (
select time, classroom, group_concat(distinct course1) as ct, count(distinct course1) as num
from chongtu_test c
group by time, classroom
) a
group by ct, classroom, num
)b on b.ct like concat('%',a.course1,'%') and b.ct like concat('%',a.course2,'%') and b.times like concat('%',a.time,'%')
group by co)b
where a.co = b.co
and a.num = b.num
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.