会议日程问题。如何将此代码转换为MySQL(或任何其他SQL)

2024-04-27 03:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是:

Using SQL find minimum number of available rooms required for all meeting to take place without delays and on time.

这是会议日程。在

    start   end
     8       9.15
    10      14
    13.2    15.2
    13.55   16.45
    14      17.45
    14.05   17.45

我找到了一种使用pandas在Python中实现的方法,但不知道如何在SQL中使用它。我找到了一些解决方案,但这些都是模拟的,我认为有一种更优雅的方法来解决这个问题。在

下面是Python代码:

^{pr2}$

Tags: ofto方法numberforsqlrequiredall
1条回答
网友
1楼 · 发布于 2024-04-27 03:36:04

以下是SQL查询中逻辑的翻译:

SELECT i.start, i.end, COUNT(*) number_of_rooms
FROM rooms i
LEFT JOIN rooms j ON i.start < j.end AND i.start  > j.start
GROUP BY i.start, i.end 

查询处理表中的每个记录(别名i)。self join将在同一个表(j)中满足时间间隔重叠条件的所有记录拉入。然后,GROUP BY子句为i的每条记录聚合数据,COUNT()给出j中匹配记录的数量。在

相关问题 更多 >