繁体   English   中英

按日期显示求和结果组mysqli

[英]show sum result group by date mysqli

我需要显示总价为ORDER BY order_date的表时出现错误的结果,这是一个问题

我有一个数据库:

- order_id
- order_date
- order_price
- order_quantity

我试过了 :

$sql = mysqli_query($con,"SELECT *, 
                                 SUM(order_q) * SUM(order_price) as total 
                          FROM o_orders_f 
                          GROUP BY order_id");

但是这段代码将汇总所有结果,并给我错误的答案

$sql = mysqli_query($con, "SELECT *, 
                                  SUM(order_quantity) * SUM(order_price) as total 
                           FROM o_orders_f 
                           GROUP BY order_id");
while ($r = mysqli_fetch_array($sql)) {
   $date = $r['order_date'];
   $total = $r['total'];
   echo $total;     
}

我正在寻找的结果是这样的:

7 Jul, 2019 - total: ($r['quantity']* $r['price']) = 72933 
8 Jul, 2019 - total: ($r['quantity']* $r['price']) = 453
9 Jul, 2019 - total: ($r['quantity']* $r['price']) = 72

我在您的查询中看到2个错误:

  1. 当您应该按order_date分组时,您就是按order_id分组。
  2. 当在查询乘以值,你应该SUM操作的结果,但你正在总结它的因素。

也就是说,您的查询应为:

SELECT
    *,
    SUM(order_quantity * order_price) as total 
FROM 
    o_orders_f 
GROUP BY 
    order_date

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM