我试图找出哪些类之间的重叠最多。数据存储在 MySQL 中,每个学生在他/她参加的每个课程的数据库中都有一个完全独立的行(我没有配置它,我无法更改它)。我粘贴了下表的简化版本。实际上有大约 20 种不同的课程。
CREATE TABLE classes
(`student_id` int, `class` varchar(13));
INSERT INTO classes
(`student_id`, `class`)
VALUES
(55421, 'algebra'),
(27494, 'algebra'),
(64934, 'algebra'),
(65364, 'algebra'),
(21102, 'algebra'),
(90734, 'algebra'),
(20103, 'algebra'),
(57450, 'gym'),
(76411, 'gym'),
(24918, 'gym'),
(65364, 'gym'),
(55421, 'gym'),
(89607, 'world_history'),
(54522, 'world_history'),
(49581, 'world_history'),
(84155, 'world_history'),
(55421, 'world_history'),
(57450, 'world_history');
我最终想使用 Circos(此处为背景),但我对任何能让我理解并向人们展示重叠最多和最少重叠的方法感到满意。这不是我的想法,但我在想我可以为每门课程使用一个包含一行和一列的输出表,并列出不同类相交的重叠数量。每门课程与其自身相交的位置可以显示与任何其他类别没有重叠的人数。