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

是否有一种方法可以对maxworth列进行求和?我想将上面所示的所有maxworth加在一个sql查询中。答案不是SELECT *, SUM(maxworth),因为对于同一个acode和campaignid有多个maxworth。
发布于 2016-12-15 18:59:22
将现有查询引用为内联视图。接受现有的查询,并将其包装为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首先在内联视图中运行查询,并将结果集具体化为派生表。一旦填充了派生表,外部查询就会运行。
发布于 2016-12-05 19:15:39
不知道你在问什么。
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发布于 2016-12-14 21:52:00
这将通过唯一的活动项、acode和maxworth计算SUM()。你提到“有多个相同的代码和活动”,这使我认为你可能想把“最大的价值”作为独特的。
SELECT
campaignid,
acode,
maxworth,
SUM(maxworth) AS 'MAXWORTH1'
FROM acodes
WHERE datenumber >= '2016-12-09'
GROUP BY campaignid, acode, maxworthhttps://stackoverflow.com/questions/40981568
复制相似问题