所以我试图从每一列中获取唯一值。到目前为止,我已经尝试过了。
日期:周一,周二,周三,周四,周五
时间:上午8时至10时、中午10时至12时、下午1时至3时、下午3时至5时、下午5时至7时
SELECT DISTINCT Day, Time FROM table GROUP BY Day, Time;
例:
Monday 8-10am
Monday 3-5pm
Monday 5-7pm
Tuesday 10-12pm
Tuesday 5-7pm
Wednesday 3-5pm
Thursday 10-12pm
Thursday 1-3pm
Friday 8-10am
Friday 1-3pm
这不会为我提供每列的唯一值,而是为一天中的每个时间提供唯一值。
SELECT
(SELECT group_concat(DISTINCT Day) FROM workingTimeDate) as Day,
(SELECT group_concat(DISTINCT Time) FROM workingTimeDate) as Time
FROM workingTimeDate;
这将给出:
Monday,Tuesday,Wednesday,Thursday,Friday 8-10am,10-12pm,1-3pm,3-5pm,5-7pm
这会将值分组为两列,但我希望它们位于单独的列中。
我想要的是
Day Time
Monday 8-10am
Tuesday 10-12pm
Wednesday 1-3pm
Thursday 3-5pm
Friday 5-7pm
你可以做:
select distinct day, cast(NULL as time) from t
union all
select distinct cast(NULL as date), time from t;
所以
你想要的是:
select Day,
group_concat(time, ', ') as t
FROM table
GROUP BY Day