【发布时间】:2017-05-21 14:42:50
【问题描述】:
所以我试图从每一列中获取唯一值。目前我已经尝试过了。
日期:周一、周二、周三、周四、周五
时间:8-10am、10-12pm、1-3pm、3-5pm、5-7pm
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
这不会为每列提供唯一值,而是为 DAY 中的每个 TIME 提供唯一值。
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
【问题讨论】:
-
最好向我们展示示例数据和预期输出
-
显示一些示例数据,以便我们真正了解您关于唯一值的问题。
-
为什么有人要这样做?在您的结果集中,
Day和Time之间没有关系。也有可能不同天数和不同时间数不相等。 -
我同意保罗·斯皮格尔的观点。进行这两个单独的查询,一个针对不同的日子,另一个针对不同的时间。