我正在尝试在 MySql 中存储各种信息,例如主题、主题天数、开始时间、结束时间和教师。然后,我将检索数据并将它们呈现在表格中,其中列是天数,行是时间间隔。那么我将如何开始,我需要考虑哪些事情?
谢谢!
如果您需要以这种方式显示数据,我建议将日期和时间间隔存储在两个单独的表中:
CREATE TABLE day(id int, day date);
CREATE TABLE interval (int id, int day_id, start_time time, end_time time);
然后您可以使用简单的 JOIN 进行查询:
SELECT start_time, end_time FROM interval i
JOIN day d ON d.id = i.day_id
如果您需要聚合,请反转 JOIN 并使用SUBTIME函数计算每日间隔:
SELECT SUBTIME(i.start_date,i.end_date) FROM day d
JOIN interval i ON d.id = i.day_id
GROUP_BY d.day