【发布时间】:2018-10-12 08:26:25
【问题描述】:
我有一个包含三列的 MySql 表“产品”:
Date | Product | Qty
我的目标是对每周每种产品的数量求和。
获取两个给定日期之间的总和很容易:
SELECT SUM(qty) FROM products WHERE date >= '2010-01-01' AND date < '2011-01-1'
我可以在 PHP 中使用类似的方法生成周列表:
$today = date('Y-m-d', strtotime('last week Monday'));
$future = date('Y-m-d', strtotime('+90 days'));
$period = new DatePeriod(
new DateTime($today),
new DateInterval('P7D'),
new DateTime($future)
);
foreach ($period as $key => $value) {
$dates .= $value->format('Y-m-d');
}
是否有一个 MySql 查询可以按日期分组和求和?还是在 PHP 中循环会更好?
【问题讨论】:
-
如果我没记错的话,有一个mysql函数
week(),那么你可以结合group by使用它 -
不需要用php脚本找一周。你可以在mysql中使用week函数和qty的总和。