私はこれを理解しようと一週間を費やしました.さまざまなソースからのものを組み合わせることで多少機能していますが、まだ完全には機能していません.
基本的に、最初の注文日で顧客をグループ化し、このグループがこれまでに費やした合計を表示しようとしている注文テーブルがあります。
これは私の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/
助けてください!ありがとう!!