我有一张表格,其中包含产品订单和订购日期。使用DATE()将日期插入表中。客户可以通过选择按月,季度,年度或总计查看这些订单的统计数据。我需要从头开始检索每个订单,因此没有开始日期,只有结束日期(今天),需要对它们进行排序。
所以,如果他们按季度选择(数据库从2006年开始),那么它需要显示2006年的每个订单,每季度然后使用PHP,我需要像这样显示:
2006年第1季度
<小时/> 日期,产品1,数量,价格
2006年第2季度
<小时/> 日期,产品1,数量,价格
。
。
点。
2014年第1季度
<小时/> 日期,产品1,数量,价格
有没有办法对它进行排序?我可以自己添加数量,价格和产品名称等内容。我有兴趣弄清楚当使用DATE()填充数据库中的字段时如何对日期进行排序。我希望这个问题足够清楚。谢谢。
答案 0 :(得分:0)
您是否尝试过使用mySQL的QUARTER(日期)功能?如果要在检索之后而不是在检索期间进行排序,请在输出中添加一列并使用QUARTER(日期)填充它,然后按该列排序。
答案 1 :(得分:0)
一个简单的方法就是首先找出一个起点
select YEAR(date_column) as min_year, QUARTER(date_column) as min_quarter from table order by date_column limit 1;
然后您可以从该索引开始在PHP中进行打印:
for($i=$min_year; $i <= date('Y'); $i++){
for($j=$min_quarter; $j<=ceiling(date('m')); $j++){
echo "Quarter $j - $i";
mysql_query("SELECT date, product, quantity, price FROM table WHERE QUARTER(date)=$j and YEAR(date)=$i ORDER BY date");
//print your rows
echo "\n";
}
}