我正在尝试在MySql中存储各种信息,例如主题,主题天数,开始时间,结束时间和教师。然后,我将检索数据并将其显示在表中,其中列为天,行为时间间隔。那么我将如何开始以及我需要考虑的事项是什么?
谢谢!
答案 0 :(得分:1)
如果您需要以这种方式显示数据,我建议将日期和时间间隔存储在两个单独的表中:
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