【发布时间】:2015-12-27 10:25:47
【问题描述】:
我有一个包含 2000 个表的数据库,随着每个表代表一个用户,它们似乎在增加。所以所有表的结构都是相同的。
我想获得前 5 个值 例如,如果我们采用列 -> OS(操作系统) 然后 查询应该从每个表中获取前 5 个操作系统名称及其计数,最后我应该得到所有表的总和结果,以获得所有数据库表中的前 5 个操作系统名称。
怎么做?
我只能使用 PHP 和 MySQL
我已从所有表中获取相同的列,但无法访问存储在其中的值..
SELECT `COLUMN_NAME` FROM INFORMATION_SCHEMA.columns WHERE TABLE_SCHEMA='database_name' AND COLUMN_NAME = 'os'
【问题讨论】:
-
究竟为什么需要每个用户拥有一张桌子?这是一个非常糟糕的架构,我无法想象它会有什么有用的场景。
-
我知道,但只有这样,你能提出一些建议吗?
-
这是用
mysql和sql-server标记的,但您写的是“仅限PHP 和MySQL”...请清除RDBMS(产品和版本)!您发布的SELECT ... FROM INFORMATION_SCHEMA ...看起来像 SQL Server... -
@Shnugo 我有一个 MYSQL 数据库 -_-
-
2000 多张桌子!哇 - 您需要紧急重新设计您的架构。一个用户表和其他表,通过键链接到用户表是正确结构化数据库的一般基础 -
RDBMS中的R代表relational毕竟