【问题标题】:Counting TOTAL number of rows in the tables of a database [duplicate]计算数据库表中的总行数[重复]
【发布时间】:2014-05-24 18:44:03
【问题描述】:

我想知道如何计算数据库表中的总行数。例如,我在一个名为的数据库中有 3 个表:

表 1:5 行

表 2:4 行

表 3:3 行

所以输出应该是:12 行。

我知道如何计算特定表中的行数。这里有什么要循环的吗?

谢谢。

【问题讨论】:

标签: php mysql


【解决方案1】:
SELECT SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db_name';

【讨论】:

    【解决方案2】:
    SELECT sum(TABLE_ROWS)
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME IN ('table1', 'table2', 'table3');
    

    【讨论】:

      【解决方案3】:
      SELECT sum(cnt) AS overall_cnt
      FROM (
          SELECT count(*) AS cnt FROM table1
          UNION ALL
          SELECT count(*) AS cnt FROM table2
          UNION ALL
          SELECT count(*) AS cnt FROM table3
      ) AS foo
      

      【讨论】:

      • 没有没有。我的意思是,如果我有成千上万张桌子怎么办?有没有像循环之类的东西?
      • 不在常规查询中。您可以构建一个存储过程来查询信息模式表并循环这些结果。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      • 2018-01-09
      • 2020-12-05
      • 2020-12-11
      • 2012-08-21
      • 1970-01-01
      相关资源
      最近更新 更多