![](/img/trans.png)
[英]How do I get the count for a SQL query containing a GROUP BY statement?
[英]How do I get the SUM of a group in an sql query
不知道您在这里问什么。
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 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首先在嵌入式视图中运行查询,并将结果集具体化为派生表。 填充派生表后,外部查询将针对此表运行。
这将通过唯一的campaignid,acode和maxworth计算SUM()。 您提到“同一代码和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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.