我有表(mysql 5.5 INNODB):样本小数据+剪切不相关的问题列 - 真实数据巨大(会议表中超过 10,000,000 行)
输入:
day:
day_id(primary key)|sunday|monday|tuesday|wensday|thursday|friday|saturday
---------------------------------------------------------------------------
60 |1 |1 |1 |1 |1 |1 |1
74 |0 |1 |0 |0 |0 |0 |0
98 |0 |0 |0 |0 |0 |0 |0
..etc......................................................................
meeting:
day_id(foreign key)|time |type
----------------------------------
60 |20:09:00|1
98 |07:00:00|1
74 |22:01:00|4
98 |10:00:00|1
60 |23:09:00|2
98 |06:00:00|2
74 |21:04:00|6
98 |08:00:00|6
.....etc.....................
输出:
sunday_times |monday_times |....etc
-------------------------------------------------------------------------------------------------
20:09:00,etc... | 20:09:00,etc.. |
................etc..............................................................................
我想是这样的(但我是 sql 新手,所以我不知道它是好还是合法)
SELECT
GROUP_CONCAT(time where day.sunday=1 ORDER BY time) as sunday_times,
GROUP_CONCAT(time where day.monday=1 ORDER BY time) as monday_times,
etc..
FROM day
JOIN meeting ON meeting.day_id=day.day_id
GROUP BY type