Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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_Group By_Sum - Fatal编程技术网

Mysql 如何在sql查询中获取组的总和

Mysql 如何在sql查询中获取组的总和,mysql,sql,group-by,sum,Mysql,Sql,Group By,Sum,我的问题是 SELECT * FROM acodes WHERE datenumber >= '2016-12-09' GROUP BY campaignid, acode LIMIT 0 , 30 结果是 是否有方法对maxworth列求和?我想将上面显示的所有maxworth添加到sql查询中。答案不是SELECT*,SUM(maxworth),因为同一acode和activitid有多个maxworth,不确定您在这里问什么 SELECT a.MAXWORTH1,

我的问题是

SELECT * 
FROM acodes
WHERE datenumber >=  '2016-12-09'
GROUP BY campaignid, acode
LIMIT 0 , 30
结果是


是否有方法对
maxworth
列求和?我想将上面显示的所有
maxworth
添加到sql查询中。答案不是
SELECT*,SUM(maxworth)
,因为同一
acode
activitid
有多个
maxworth
,不确定您在这里问什么

SELECT
    a.MAXWORTH1,
    SUM(a.MAXWORTH) AS "MAXWORTH2"
FROM (
    SELECT 
      CAMPAIGNID, 
      SUM(maxworth) AS "MAXWORTH1"
    FROM acodes 
    WHERE datenumber ='2016-12-05' 
    GROUP BY campaignid 
) a
GROUP BY a.MAXWORTH1

不知道你在问什么

SELECT
    a.MAXWORTH1,
    SUM(a.MAXWORTH) AS "MAXWORTH2"
FROM (
    SELECT 
      CAMPAIGNID, 
      SUM(maxworth) AS "MAXWORTH1"
    FROM acodes 
    WHERE datenumber ='2016-12-05' 
    GROUP BY campaignid 
) a
GROUP BY a.MAXWORTH1
这将通过唯一的活动ID、acode和maxworth计算SUM()。你提到“同一个acode和campaignid有多个maxworth”,这让我觉得你可能想把“maxworth”看作是独一无二的

    SELECT 
      campaignid,
      acode,
      maxworth,
      SUM(maxworth) AS 'MAXWORTH1'
    FROM acodes 
    WHERE datenumber >= '2016-12-09' 
    GROUP BY campaignid, acode, maxworth
这将通过唯一的活动ID、acode和maxworth计算SUM()。你提到“同一个acode和campaignid有多个maxworth”,这让我觉得你可能想把“maxworth”看作是独一无二的

    SELECT 
      campaignid,
      acode,
      maxworth,
      SUM(maxworth) AS 'MAXWORTH1'
    FROM acodes 
    WHERE datenumber >= '2016-12-09' 
    GROUP BY campaignid, acode, maxworth

下面是回答你问题的另一个尝试

SELECT
    a.campaignid,
    a.acode,
    SUM(a.maxworth) as "SUMMAXWORTH"
FROM
    (SELECT 
        * 
    FROM acodes 
    WHERE datenumber >= '2016-12-09' 
    GROUP BY campaignid, acode 
    LIMIT 0 , 30
    ) a
GROUP BY a.campaignid, a.acodes

下面是回答你问题的另一个尝试

SELECT
    a.campaignid,
    a.acode,
    SUM(a.maxworth) as "SUMMAXWORTH"
FROM
    (SELECT 
        * 
    FROM acodes 
    WHERE datenumber >= '2016-12-09' 
    GROUP BY campaignid, acode 
    LIMIT 0 , 30
    ) a
GROUP BY a.campaignid, a.acodes

将现有查询作为内联视图引用。获取现有查询,并将其换行为parens,然后在另一个查询中使用它来代替表名。(需要为内联视图指定一个别名。)

例如:

SELECT SUM(v.maxworth)
  FROM (
         -- existing query goes here, between the parens
         SELECT *
         FROM acodes
         WHERE datenumber >=  '2016-12-09'
         GROUP BY campaignid, acode
         LIMIT 0 , 30
       ) v

在MySQL中,该内联视图称为派生表。查询的工作方式。。。。MySQL首先在内联视图中运行查询,并将结果集具体化为派生表。填充派生表后,外部查询将针对该表运行。

将现有查询作为内联视图引用。获取现有查询,并将其换行为parens,然后在另一个查询中使用它来代替表名。(需要为内联视图指定一个别名。)

例如:

SELECT SUM(v.maxworth)
  FROM (
         -- existing query goes here, between the parens
         SELECT *
         FROM acodes
         WHERE datenumber >=  '2016-12-09'
         GROUP BY campaignid, acode
         LIMIT 0 , 30
       ) v


在MySQL中,该内联视图称为派生表。查询的工作方式。。。。MySQL首先在内联视图中运行查询,并将结果集具体化为派生表。一旦填充了派生表,外部查询就会运行。

很难理解您的要求,但我认为您应该签出汇总集或分组集keywords@desbest你能解释一下“另一列的数字求和”吗@Lioness这意味着在执行上图所示的sum sql查询之后,我想要上图所示的
maxworth
列的总和。我更新了我的问题@erikkallenI更新了我的问题@Lioness很难理解你在问什么,但我认为你应该检查汇总或分组集keywords@desbest你能解释一下“另一列的数字求和”吗@Lioness这意味着在执行上图所示的sum sql查询之后,我需要上图所示的
maxworth
列的总和。我已经更新了我的问题@erikkallenI已经更新了我的问题@Lioness什么不起作用?请提供更多信息。谢谢。“字段列表”中的未知列“a.MAXWORTH”可能会尝试使用引号中的别名。什么不起作用?请提供更多信息。谢谢。“字段列表”中的未知列“a.MAXWORTH”可能会尝试使用引号中的别名。抱歉,您不理解我的问题。每行有一个
amountpaid
maxworth
,并按
activitid
acode
分组。有多行具有相同的
activitid
acode
,它们具有相同的
maxworth
您正在做的是,将
activitid
acode
匹配的每一行相加,因此将相同的
maxworth
相加多次。这就是我现在想要做的。我想做一个查询,将行按
activitid
acode
进行分组,就像我原来的查询一样,只需将结果
maxworth
列中的所有行相加。画一幅你想让它看起来像什么的图画。有什么不明白的?我想修改这个sql查询,将
maxworth
列中的所有内容相加(求和)<代码>从日期编号>='2016-12-09'按活动ID分组的代码中选择*,代码限制0,30答案不是
从日期编号>='2016-12-09'按活动ID分组的代码中选择*,总和(maxworth),代码限制0,30
抱歉,您不理解我的问题。每行有一个
amountpaid
maxworth
,并按
activitid
acode
分组。有多行具有相同的
activitid
acode
,它们具有相同的
maxworth
您正在做的是,将
activitid
acode
匹配的每一行相加,因此将相同的
maxworth
相加多次。这就是我现在想要做的。我想做一个查询,将行按
activitid
acode
进行分组,就像我原来的查询一样,只需将结果
maxworth
列中的所有行相加。画一幅你想让它看起来像什么的图画。有什么不明白的?我想修改这个sql查询,将
maxworth
列中的所有内容相加(求和)<代码>从日期编号>='2016-12-09'按活动ID分组的代码中选择*,代码限制0,30答案不是
从日期编号>='2016-12-09'按活动ID分组的代码中选择*,总和(maxworth),这意味着列名不正确。列名中没有“s”,因此将其更改为“a.acode”将解决此错误。函数a.SUM不存在。检查参考手册OOPS中的“函数名解析和解析”部分,它实际求和(a.maxworth)。这意味着列名不正确。列名中没有“s”,因此将其更改为“a.acode”将解决此错误。函数a.SUM不存在。检查参考手册OOPS中的“函数名解析和解析”部分,它实际求和(a.maxworth)