我正在开发一个需要一系列 SQL 相关输出的 PHP 程序,我希望 SQL 可以完成我的大部分工作。
为了这个问题,我有一个带有这种类型的数据和标题的表格
注意:ID 用于特定条目,并且是自动递增的
注意:标题部分用于隔离特定项目的数据
注意:对于特定项目,人员可能会重复
注意:日期不会重复,但不一定要组织
注意:对于这个问题的目的假设数据没有很好地组织并且在 SQL 语句中发生排序
当我使用 phpmyadmin sql 数据库时
SELECT * FROM `This_Table` WHERE `Title` = 'Project_1' ORDER BY `Working_Date` ASC, `Worker_Name` ASC
这是我想要的正确输出。
问题来了,我想使用接近 array_agg 的东西,但是对制作数组数组(二维数组)感到困惑,但我想做的是在新表上使用 SQL 查询,这样我就可以生成以下数组.
问题:SQL 能否提供一个输出,允许我根据上述数据集拥有以下数组?
#Unique Dates Organized ASC
$Date = array('2020-04-19', '2020-04-20', '2020-04-21', '2020-04-22', '2020-04-23', '2020-05-26', '2020-06-01');
#Names which by default will be unique in their own sub array by date
#so in short a 2 dimensional array with Date then Persons
$Person = array(array('Joe', 'Mark'), array('Mark'), array('Joe', 'Mark'), array('Joe', 'Mark'), array('Mark'), array('Joe'), array('Joe'))
这听起来像是大量的工作,但如果 SQL 可以准确地给我这种输出,它将使我的一些编码变得更加容易。此时,我必须将 SQL 中的数据行输出到我的 PHP 中,并在 PHP 代码本身中构建数组,而不是让 SQL 输出这样的数组,对于较大的数据库,构建数组本身需要大量时间更不用说要求独特的数据了。