Php mysql查询中的分组

Php mysql查询中的分组,php,mysql,Php,Mysql,我的数据库中有以下数据: 我正试图选择这些数据以一个特定组的形式显示,如下所示: 首先,我考虑获取所有数据并使用while循环显示,但这样做会使表单显示来自hp_列的重复数据。如何通过仅使用一次查询获得第二张图片中预期输出的准确数据?您可以尝试使用MySQL中的函数组\u CONCAT。您的请求如下: SELECT hp_lessons, GROUP_CONCAT(hp_timeslot SEPARATOR ',') as dates FROM myTable GROUP BY hp_lesso

我的数据库中有以下数据:

我正试图选择这些数据以一个特定组的形式显示,如下所示:


首先,我考虑获取所有数据并使用while循环显示,但这样做会使表单显示来自hp_列的重复数据。如何通过仅使用一次查询获得第二张图片中预期输出的准确数据?

您可以尝试使用MySQL中的函数组\u CONCAT。您的请求如下:

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

这将在结果中为您提供一列“dates”,其中包含所有相关日期的字符串,以逗号分隔。您只需要在PHP中分解它就可以得到一个数组。这当然不是最好的方法,而且您的数据库结构对于您想要实现的目标来说也不是最优的,但这最终会完成工作。

您根本不想在MySQL查询中对数据进行分组,因为您仍然需要所有六条记录。你想先按课程顺序订购。。。然后在脚本逻辑中实现一个简单的控件中断,显示查询结果中的数据。您可以使用连接到数据库的应用程序来执行此操作。谢谢。这对我帮助很大: