所以我试图从每一列中获取唯一的值。到目前为止我已经尝试过。
日期:周一、周二、周三、周四、周五
时间:上午 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;
关于mysql - 每列的 SQL 唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44098165/