mysqli query sum列复制行上的值

p4rjhz4m  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(234)

添加所有列值 'price' of all duplicate invoice numbersORDERS-TABLE with _flag = y 我可以在php数组排序或js中实现这一点,但理想情况下,如果可能的话,我希望在实际的sql查询中实现这一点。
表1订单

_id    |    _invoice_num    |    _name    |    _price    |    _flag

0          123                     bob           200          y
1          123                     bob           300          y
2          555                     mike          100          ...
3          123                     bob           300          y
3          888                     dave          200          y

PHP:

<?php
 // im only after the query as its jsonen_code to ajax --

 $sql = 'select * , select(sum(price)) from table_orders Where _flag ='y' ;

 if ($results=mysqli_query($con,$sql)){

     while ($row=mysqli_fetch_row($results)){

            array_push($thearray,$row);

            } 
  } 

  echo json_encode(array_values($thearray));

 ?>

输出:

/* output expecting array length 2 rows

 0 , 123 , bob , 800 , y
 1 , 888 , dave, 200 , y

 */

补充:

<?php

   $the_type = 'the_flag';

   //removes dupes 
   $sql = "SELECT * FROM orders WHERE $the_type = '' GROUP BY _invoice";

  // need to sum the dupes now.

  ?>
9rnv2umw

9rnv2umw1#

这应该起作用:

SELECT *,
       SUM(_price) AS total
FROM   _orders
WHERE  _flag = 'y'
GROUP  BY _invoice_num

相关问题