在mysql查询中分组

时间:2017-08-28 12:12:07

标签: php mysql

我的数据库中有这些数据:

enter image description here

我尝试选择要以特定群组形式显示的数据,如下所示:

enter image description here

首先,我想要获取所有数据并使用while loop进行显示,但这样做会使表单显示来自列hp_lessons的重复数据。如何通过仅使用一个查询来查询它以获取第二张图片中预期输出的确切数据?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用MySQL中的函数GROUP_CONCAT()。您的请求将是:

SELECT hp_lessons, GROUP_CONCAT(hp_timeslot SEPARATOR ',') as dates
FROM myTable
GROUP BY hp_lessons

这会在结果中为您提供一个列'日期',其中包含由逗号分隔的所有相关日期的字符串。你只需要在PHP中将它爆炸以拥有一个数组。它肯定不是最好的方法,你的数据库结构并不是你想要实现的目标的最佳方式,但最终会完成这项工作。