繁体   English   中英

将这些MySQL查询和SUM数据与一个查询结合

[英]Combining These MySQL Queries and SUM data with one Query

我需要结合这两个查询并使用单个mySQL查询获取记录。

这是我的查询

select DATE_FORMAT(campaign_date, '%Y-%m' ) AS month
     , sum(sms) 
  from table1 
 group 
    by month

它返回我,所有月份的总和,例如

 2019-05 5400
 2019-06 3200
 2019-07 11505
 etc

我有另一个查询,它从同一张表中获取相同格式的数据。

select DATE_FORMAT(trans_date, '%Y-%m' ) AS month
     , sum(camp_sms) 
  from table2 
 group 
    by month

2019-05  3500
2019-06  7256 
2019-07 35465
etc

是否可以合并这两个查询并像下面这样获取数据:

Date sum(sms) sum(camp_sms)
2019-05  5400  3500
2019-06  3200  7256
2019-07 11505 35465

我已经使用PHP循环和数组完成了此操作,并获得了相同的输出,但是我想使用mySQL进行此操作。

只需使用join

select t1.month, t1.total, t2.total from (
    select DATE_FORMAT(campaign_date, '%Y-%m' ) AS month, sum(sms) total from table1 group by month
) t1
join (
    select DATE_FORMAT(trans_date, '%Y-%m' ) AS month, sum(camp_sms) from table2 group by month
) t2 on t1.month = t2.month

如果您不想跳过表1中的任何数据,则应该类似地使用LEFT JOIN您可以根据需要使用其他联接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM