计算每个表的行数(其中表名从 subquery 返回)

Gau*_*rav 4 mysql sql database

我正在从一个表中进行查询,该表给出了表列表(基于不同的条件列表会有所不同)。
我想显示表名列表及其行数。我怎样才能做到这一点?

我试过了

select count(*) from (select tablename from main_table) as t;
Run Code Online (Sandbox Code Playgroud)

但它只返回 main_table 中的条目数,而不是每个表中的条目数。
我可以使用系统表来获取行数,但我不想要所有表而是特定表,并且可能需要特定查询的行数。

算法是这样的

for tablenames in main_table where id>3:
    select count(*) from tablename where constraints    
Run Code Online (Sandbox Code Playgroud)

Wer*_*age 5

尝试这样的事情:

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
Run Code Online (Sandbox Code Playgroud)

或这个

SELECT table_name, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = '{your_db}'; 
Run Code Online (Sandbox Code Playgroud)