SQL Query从所有数据库中获取数据

时间:2017-01-24 01:28:28

标签: mysql sql database

嗨,想知道是否有人可以帮我解决这个问题。我试图从表中显示我从服务器中的所有数据库中提交的提交数量。目标是显示所有数据库以及每个数据库的数量。以下查询允许我查看每个数据库,但我希望一次性获取所有这些信息。

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

1 个答案:

答案 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