Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 返回两列之和的查询_Mysql_Sql - Fatal编程技术网

Mysql 返回两列之和的查询

Mysql 返回两列之和的查询,mysql,sql,Mysql,Sql,我使用下面的查询返回账单的合计、税额和合计金额和税额。但问题是,因为我使用的是sum(),它只返回第一行,如何检索所有行和总计 SELECT sum( at_salesbill.`billedTotal` + at_salesbill.`billedTotalTax` ) as grantTotal, at_salesbill.`billedTotal` AS at_salesbill_billedTotal, at_s

我使用下面的查询返回账单的合计、税额和合计金额和税额。但问题是,因为我使用的是sum(),它只返回第一行,如何检索所有行和总计

SELECT sum(
            at_salesbill.`billedTotal` + at_salesbill.`billedTotalTax`
            ) as grantTotal,
       at_salesbill.`billedTotal` AS at_salesbill_billedTotal,
       at_salesbill.`billedTotalTax` AS billedTotalTax,
  FROM at_salesbill
 WHERE at_salesbill.`billGuid` = 44;

您只需添加值即可获得总和:

SELECT (at_salesbill.`billedTotal`+at_salesbill.`billedTotalTax`) as grantTotal,
       at_salesbill.`billedTotal` AS at_salesbill_billedTotal,
       at_salesbill.`billedTotalTax` AS billedTotalTax,
from at_salesbill
where at_salesbill.`billGuid` = 44;
然后,假设行中有一个唯一的
id
,您可以使用一个技巧来获取总计和值:

SELECT at_salesbill.id,
       sum(at_salesbill.`billedTotal`+at_salesbill.`billedTotalTax`) as grantTotal,
       at_salesbill.`billedTotal` AS at_salesbill_billedTotal,
       at_salesbill.`billedTotalTax` AS billedTotalTax,
from at_salesbill
where at_salesbill.`billGuid` = 44
group by at_salesbill.id with rollup;
在这里,
sum()。但是,带有汇总的
将添加一个总计列,其中
id
NULL

SELECT (case when at_salesbill.id is NULL then 'total' else '' end),
       sum(at_salesbill.`billedTotal`+at_salesbill.`billedTotalTax`) as grantTotal,
       at_salesbill.`billedTotal` AS at_salesbill_billedTotal,
       at_salesbill.`billedTotalTax` AS billedTotalTax,
from at_salesbill
where at_salesbill.`billGuid` = 44
group by at_salesbill.id with rollup;