我正在尝试获取表名,每个表中的记录数以及给定数据库中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的记录计数。
谢谢萨米尔
我认为您将需要编写一个过程,该过程可以返回每个表的自定义行计数。下面是查询,它可以为您提供具有总行数的表列表,但是如果您要基于过滤器(即status=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
谢谢苏雷什