我的数据库上有订单表(id_order,price,desc,delivery) 我需要计算每天的总价
我用这个
$date = date("Y-m-d");
$query55 = "SELECT id_order, price FROM orders WHERE delivery LIKE '%$date%'";
$result55 = mysql_query($query55) or die(mysql_error());
while ($row55 = mysql_fetch_array($result55))
{
$currency = $row55['id_currency'];
$id = $row55['id_order'];
if ($currency == "1")
{
echo '
<tr>
<td style="width: 120px;">' . $id_order . '</td>
<td style="width: 120px;">EUR</td>
<td style="width: 170px;">' . $row55['price'] . '</td>
</tr>
';
$somma_paid += $row55['price'];
}
并且有效
最后,我在变量$ somma_paid上有一整天。
我想在一年中的每一天都自动完成。我需要montly总计。 我需要30/31行,每天30/31总计
每天我都必须执行这个脚本。我可以修改它,每个月每次都要求montly总计。我认为我没有很好地解释它......
另一个:我可以在一天之内完成它,我可以在今天之前全年都这样做吗?
我制作了另一张表,其中包含所有年份日期和此字段(日期,价格) 我想在新表中填写新的问题..
答案 0 :(得分:1)
您可能希望在一年中的某一天进行分组。最好的方法就是这样:
SELECT id_order, price FROM orders WHERE 1 GROUP BY YEAR(`delivery`),
MONTH(`delivery`), DAY(`delivery`) ORDER BY `delivery`
所以,如果你想每天得到一笔钱:
SELECT SUM(price) FROM orders WHERE 1 GROUP BY YEAR(`delivery`),
MONTH(`delivery`), DAY(`delivery`) ORDER BY `delivery`
或者,如果您希望使用日期格式化结果,则可以将date_format
与%j
一起用于一年中的某一天(从001到366计数)或格式化日期{{1}使用`%d-%m-%Y表示格式为31-12-2013(dd-mm-yyyy)
date_format
现在,您可以使用SELECT SUM(price), DATE_FORMAT(`delivery`,'%j') as `dayoftheyear`, DATE_FORMAT(`delivery`,'%d-%m-%Y') as `date` FROM `orders` WHERE 1 GROUP BY YEAR(`delivery`), MONTH(`delivery`), DAY(`delivery`) ORDER BY `delivery`
和$row55['dayoftheyear']
在一年中的某一天和格式化的日期循环显示结果。
或者根据w3schools文档定义自己的格式(更容易阅读):http://www.w3schools.com/sql/func_date_format.asp或mysql文档:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
答案 1 :(得分:0)
@luceos 你不会使用和函数吗?
EG: SELECT SUM(价格)作为总订单来自WHERE 1 GROUP BY YEAR(交货),MONTH(交货),DAY(交货)ORDER BY交货