row_number 和 cte 使用实例:考场监考安排

本文通过数据库查询和CTE解决考场监考安排问题,确保监考老师时长最平均。介绍了如何模拟数据,使用row_number和cte进行考试优先级分配,以及通过字符串处理和递归解决复杂监考安排。
摘要由CSDN通过智能技术生成

考场监考安排

问题出自问答区 python 频道的一个问答,原问答地址:https://ask.csdn.net/questions/7901104。

题主对提问的方式不太熟悉,他其实已经提了一系列关于监考安排这个问题的问答了,每次都略有遗漏,所以老顾把完整的需求从新描述一下。

有若干场不同科目的考试,每个科目的考试时长不同;有若干位不同科目的老师去监考,每个考试需要1名监考老师,监考老师不得监考同科目的考试。
请尽量安排老师所用的总监考时长为最平均的接近值。

题主这里给出了29位不同科目的老师,还有77场不同科目的考试。老顾用 python 通过编程的方式已经实现了这个需求,平均每位老师监考总时长在200至250之间。

但是,这个题目老顾觉得用数据库查询的方式也可以做,于是就拿来练练手。

使用 cte 模拟两个表的原始数据

with 考试 as (
	
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文盲老顾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值