嗨,想知道是否有人可以帮我解决这个问题。我试图从表中显示我从服务器中的所有数据库中提交的提交数量。目标是显示所有数据库以及每个数据库的数量。以下查询允许我查看每个数据库,但我希望一次性获取所有这些信息。
SELECT *
FROM myforms
WHERE datetime between '2017-01-01' and '2017-01-23'
服务器规格: 数据库客户端版本:libmysql - 5.1.73 PHP扩展:mysqli
目标示例:
让我们说这些是数据库
db_site1
db_site2
db_site3
每个人都有一个名为myforms的表,其中包含一个名为datefield的字段。
想要通过一个查询获取以下信息。
db_site1 - 5 (this being number of submissions from jan 1, 2017 to current date)
db_site2 - 50
db_site3 - 35
答案 0 :(得分:0)
使用Union在单个查询中收集diff-diff表的结果。
(SELECT * FROM db_site1.myforms WHERE datetime between '2017-01-01' and '2017-01-23')
UNION ALL
(SELECT * FROM db_site2.myforms WHERE datetime between '2017-01-01' and '2017-01-23')
UNION ALL
(SELECT * FROM db_site3.myforms WHERE datetime between '2017-01-01' and '2017-01-23')
注意: - 对于此查询,您的db用户必须有权访问所有3个数据库。 全部联盟将从结果中删除重复项。如果您需要重复结果,请使用 union 。