通过使用php将mysql数据库记录拆分为N个数组来分组
我有一个mysql数据库,有数千行,每行包含一个产品的销售交易数据。这些产品具有唯一ID,产品总数未定义。通过使用php将mysql数据库记录拆分为N个数组来分组,php,mysql,arrays,sorting,multidimensional-array,Php,Mysql,Arrays,Sorting,Multidimensional Array,我有一个mysql数据库,有数千行,每行包含一个产品的销售交易数据。这些产品具有唯一ID,产品总数未定义。 ID产品名称交易ID日期 123产品1 ergkljdlkjfgklgh 2015年9月1日 144产品5 eyghfeoopjfgkl 2015年9月5日 123产品1 jdlkjfghrttgklgej 2015年9月8日 144产品5 NGFUKHJKGFHJJCS 2015年9月15日 123产品1 utebhjgdsdhjfdt 2015年9月20日 等等 在php的帮助下,我
ID产品名称交易ID日期
123产品1 ergkljdlkjfgklgh 2015年9月1日
144产品5 eyghfeoopjfgkl 2015年9月5日
123产品1 jdlkjfghrttgklgej 2015年9月8日
144产品5 NGFUKHJKGFHJJCS 2015年9月15日
123产品1 utebhjgdsdhjfdt 2015年9月20日
等等 在php的帮助下,我需要将数据库转换为一个简单的列表,每一行包含唯一的产品ID、产品名称、该产品在数据库中的出现次数以及销售日期,并合并为一个字符串(稍后将处理) 为了说明,上表应转换为: ID产品名称销售日期的编号
123产品1 2015年9月1日3日\u 2015年9月8日\u 2015年9月20日
144产品5 2015年9月5日2日\u 2015年9月15日
我认为这样做的方法与排序和循环不同的数组有关,但是我有点困惑,不能完全围绕它来思考 我是否按ID排序,将所有唯一ID放入数组,循环数组以检索组和项目数,为每个组创建单独的数组以获取日期
也许以前遇到过这种挑战的人可以给我指出正确的方向:)您想创建新表还是在同一个表上工作。如果是另一个,那么很简单,您可以对列执行select using,然后使用ID对它们进行排序。要获取日期,您可以使用COALESCE(字段1’,|’| COALESCE(字段2’)。否则,您可以在PHP中通过编程方式处理该问题,方法是使用一个保存日期值的全局变量,然后使用点运算符为产品的每个实例追加日期 在一个查询中,
orderbyid
-然后迭代results是的,我打算用results创建一个新表,然后我认为这是非常简单的。不确定COALESCE做什么,数据库中没有空字段,我打算用php来追加日期,只是不确定数组部分。你也可以这样做<代码>选择concat(column1,“,”列,column2)我是否按ID排序,将所有唯一ID放入数组,循环数组以检索组和项目数,为每个组创建单独的数组以获取日期?