单个查询以获取状态为' 1' 1的所有表名,行数和行数。在给定的数据库中

时间:2014-04-05 08:12:59

标签: php mysql jtable

我正在尝试获取表名,每个表中的记录数以及给定数据库中status ='2'的每个表中的记录数,并通过jtable插件显示结果。我尝试过像

这样的查询

$sql = "SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' and TABLE_SCHEMA = '{$table_schema}' ORDER BY " . $_GET["jtSorting"] . " LIMIT " . $_GET["jtStartIndex"] . "," . $_GET["jtPageSize"] . ";";

TABLE_ROWS返回近似值,如何获取精确值以及如何在同一查询中获取状态= 2的记录计数。

谢谢, 萨米尔

1 个答案:

答案 0 :(得分:0)

我认为你需要编写一个程序,它可以为每个表返回自定义行数。下面是查询,它可以为您提供总行数的表列表,但是如果您要根据过滤器(即状态= 2)进行行计数,则需要编写一个可以循环并获取行的过程根据您的过滤器计算每个表格。

  SELECT      SCHEMA_NAME(A.schema_id) + '.' +
            A.Name as tablename, SUM(B.rows) AS 'RowCount'
    FROM        sys.objects A
    INNER JOIN sys.partitions B ON A.object_id = B.object_id
    WHERE       A.type = 'U'
    GROUP BY    A.schema_id, A.Name

由于 苏雷什