计算2个子查询,然后按日期分组-mysql
我有这张桌子 我想先进行子查询,然后将它们按日期分组添加到一起 预期结果如下: 我正在运行这个查询计算2个子查询,然后按日期分组-mysql,mysql,sql,database,group-by,subquery,Mysql,Sql,Database,Group By,Subquery,我有这张桌子 我想先进行子查询,然后将它们按日期分组添加到一起 预期结果如下: 我正在运行这个查询 ( SELECT DATE_FORMAT(dd1.modified_datetime,'%Y-%m-%d') as date, (v1+v2) as value FROM (SELECT modified_datetime, Sum(data->"$.amount") as v1 FROM transactions GROUP BY modifie
(
SELECT DATE_FORMAT(dd1.modified_datetime,'%Y-%m-%d') as date, (v1+v2) as value FROM
(SELECT modified_datetime, Sum(data->"$.amount") as v1
FROM transactions
GROUP BY modified_datetime) as dd1 ,
(SELECT modified_datetime, MAX(data->"$.amount") as v2
FROM transactions
GROUP BY modified_datetime) as dd2
GROUP BY dd1.modified_datetime, value
)
得到这个结果
感谢您的帮助如果我正确地跟踪了您,您可以使用
联合所有
和聚合:
select date_format(dt, '%Y-%m-%d') dt_day, sum(amount) value
from (
select modified_datetime dt, data ->> '$.amount' amount from transactions
union all
select created_datetime, data ->> '$.amount' from transactions
) t
group by dt_day
order by dt_day
在子查询和下一个查询之间使用
JOIN
:
(SELECT modified_datetime, Sum(data->"$.amount") as v1
FROM transactions
GROUP BY modified_datetime) as dd1 JOIN
(SELECT modified_datetime, MAX(data->"$.amount") as v2
FROM transactions
GROUP BY modified_datetime) as dd2 ON dd1.modified_datetime=dd2.modified_datetime
它的动态查询,我可能需要执行3或4个子查询,然后在它们之间执行操作->例如v1+v2-v3*v4。所以我需要先计算子查询,然后根据公式进行运算,所以它不总是和