我有一个包含数千行的mysql数据库,每一行包含一个产品的销售交易数据。这些产品具有唯一的ID,并且产品总数未定义。
ID产品名称交易ID日期
123产品1 ergkljdlkjfgklgh 2015年9月1日
144产品5 eyghfeoopjfgkl 2015年9月5日
123产品1 jdlkjfghrttgklgej 2015年9月8日
144产品5 ngfukhjkgfhjjjcs 2015年9月15日
123产品1 utebhjgdsdhjfdt 2015年9月20日
等等。
在php的帮助下,我需要将数据库转换成一个简单的列表,每一行包含唯一的产品ID,产品名称,该产品在数据库中的出现次数以及销售日期(连接到一个字符串中)(稍后将进行处理)。
为了说明,上表应转换为:
ID产品名称销售日期
123产品1 3 2015年9月1日_2015年9月8日_2015年9月20日
144产品5 2 2015年9月5日_2015年9月15日
我认为这样做的方法与对不同数组进行排序和循环有关,但是我有些困惑,无法完全解决。
是否按ID排序,将所有唯一ID放入数组,遍历数组以检索项目的组和编号,为每个组创建单独的数组以获取日期?
也许以前遇到过这样的挑战的人可以为我指明正确的方向:)
最佳答案
您要创建新表还是在同一表上工作。如果不同,则很简单,您可以在列上进行选择,然后使用ID对其进行排序。要获取日期,可以使用COALESCE(field1,'_')|| COALESCE(field2,'')。否则,您可以在PHP中以编程方式处理此问题,方法是使用一个拥有date日期值的全局变量,然后对于每个产品实例使用点运算符附加日期。