php - MYSQLI 查询总和列重复行上的值

标签 php mysql sql mysqli

添加所有列值 'price' of all duplicate invoice numbersORDERS-TABLE with _flag = y

我可以在 PHP 数组排序或 js 中实现这一点,但理想情况下,如果可能的话,希望在实际的 SQL 查询中实现这一点。

表_订单

_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.

  ?>

最佳答案

这应该有效:

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

关于php - MYSQLI 查询总和列重复行上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50382596/

相关文章:

mysql - 如何根据MYSQL中的project-id从两个表中获取所有记录

php - 使用 PHP 数据捕获从 Bootstrap 模式重定向

Mysql获取 "sum"和 "group"之后的行位置

php - 使用 exec php 脚本时的 crontab 问题?

mysql - 在 phpmyadmin 中上传数据库时出错

PHP/MYSQL : Database Table For Email Notifications

sql - 从存储过程中的 SELECT 语句中获取标量值

php - php composer.phar 安装错误

php - Firebug 显示位于 "wp-login.php #3 (line 25)"中的 CSS 源代码。找不到这个文件

mysql - 空值 ENUM 之间的区别