Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 在嵌套SQL中,如何按值对分组求和_Mysql_Sql - Fatal编程技术网

Mysql 在嵌套SQL中,如何按值对分组求和

Mysql 在嵌套SQL中,如何按值对分组求和,mysql,sql,Mysql,Sql,我有以下SQL SELECT MAX(o.tax) as tax_value FROM offer AS o WHERE o.status in (1) GROUP BY(o.offer_no) 假设上面的查询返回3条记录,但我想在另一个SQL中求这些记录的总和 比方说 SELECT SUM(SELECT MAX(o.tax) as tax_value FROM offer AS o WHERE o.status in (1) GROUP BY(o.offer_no)) as c

我有以下SQL

SELECT MAX(o.tax) as tax_value 
FROM offer AS o 
WHERE o.status in (1) 
GROUP BY(o.offer_no)
假设上面的查询返回3条记录,但我想在另一个SQL中求这些记录的总和

比方说

SELECT SUM(SELECT MAX(o.tax) as tax_value 
FROM offer AS o 
WHERE o.status in (1) 
GROUP BY(o.offer_no))  as created

但这给了我一个错误信息。我怎样才能解决这个问题。我想得到这些值的总和。

您可以使用表表达式:

select sum(x.tax_value) as tax_value
from ( -- table expression here acts as a table
  SELECT MAX(o.tax) as tax_value 
  FROM offer AS o 
  WHERE o.status in (1) 
  GROUP BY(o.offer_no)
) x
将其放入子查询:

SELECT SUM(tax_value)
FROM (
    SELECT MAX(tax) AS tax_value
    FROM offer
    WHERE status = 1
    GROUP BY offer_no) x

是的,现在可以用了。我还有一个问题,如何在一个SELECT语句中求和这些值,而不嵌套在SELECT中。你不能。查询中只能有一个聚合级别。