我正在从一个给出表列表的表中进行查询(基于不同的条件,列表会有所不同)。
我想显示表名列表及其行数。我怎样才能做到这一点?
我试过了
select count(*) from (select tablename from main_table) as t;
但它只返回 main_table 中的条目数,而不是每个表中的条目数。
我可以使用系统表来获取行数,但我不想要所有表,而是特定表,并且可能需要特定查询的行数。
算法是这样的
for tablenames in main_table where id>3:
select count(*) from tablename where constraints
最佳答案
尝试这样的事情:
SELECT table_name, table_type, SUM(TABLE_ROWS)
FROM information_schema.tables
WHERE table_schema = 'db5' -- or your own schema
AND table_type ='BASE TABLE'
AND table_name LIKE 'mytables%'
GROUP BY table_name, table_type
或者这个
SELECT table_name, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '{your_db}';
关于mysql - 计算每个表的行数(其中表名从子查询返回),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15804797/