我花了一周的时间试图弄清楚这一点,它通过结合来自各种来源的东西有点工作,但还没有完全工作。
基本上我有一个订单表,我试图按客户的第一个订单日期对客户进行分组,然后显示该组到目前为止的总支出。
这是我的 SQL 查询:
SELECT DISTINCT email, billing_name,
FORMAT(SUM(total),2) AS total,
DATE_FORMAT(MIN(orderdate), '%Y-%m') AS firstorder,
DATE_FORMAT(MAX(orderdate), '%Y-%m') AS lastorder
FROM orders
GROUP BY email
ORDER BY firstorder ASC
我正在使用 PHP:
$rows = array();
while($row = mysql_fetch_array($query))
$rows[] = $row;
foreach($rows as $row) {
$currMonth = $row['firstorder'];
$total += $row['total'];
if ($currMonth != $prevMonth) {
echo $currMonth.' = $'.$total';
$prevMonth = $currMonth;
$total = 0;
}
}
这给了我一个类似的列表:
2010-05 = $230.49
2010-06 = $557.32
2010-08 = $223.38
但数字不加起来,我做错了什么?以及如何显示一个小组在其他月份花费了多少?这就是我最终想要显示数据的方式,http://www.quickcohort.com/
请帮忙!谢谢!!