我有3个收集统计数据的查询:
SELECT
COUNT(id) count,
DATE(created_at) date
FROM t1
GROUP BY
date;
SELECT
COUNT(id) count,
DATE(created_at) date
FROM t2
GROUP BY
date;
SELECT
COUNT(id) count,
DATE(date_started) date
FROM t1
GROUP BY
date;
现在我分别运行这些查询3次以获取这些数据。有没有可能把这些合并到一个查询中得到这样的结果?
date | count1 | count2 | count3
-------------------------------------
2018-04-25 | 5 | (null) | 2
2018-04-24 | (null) | 3 | 4
2条答案
按热度按时间djp7away1#
请尝试以下操作
sql小提琴-http://www.sqlfiddle.com/#!9/bcfb9e/1号
k3fezbri2#
你可以用连接来实现。
只需将日期作为联接列并使用外部联接即可获得
null
未找到组合的值。然后重命名列中的列select
部分。如果您对组有问题,也可以在mysql中使用子查询。
您也可以使用
as
关键字,以便更好地了解表。当然,当表中有许多元组时,优化查询会很好。