MSSQL 查询所有表记录数并按数量排序
可以使用以下 SQL 语句查询数据库所有表的记录数,并按照记录数倒序排列:
SELECT
t.name AS '表名',
SUM(p.rows) AS '记录数'
FROM
sys.tables t
INNER JOIN
sys.partitions p ON t.object_id = p.object_id
WHERE
p.index_id IN (0, 1)
GROUP BY
t.name
ORDER BY
SUM(p.rows) DESC;
该语句使用了系统视图 sys.tables 和 sys.partitions 来获取表的信息和记录数。sys.partitions 视图包含了表的分区信息,其中 index_id 为 0 表示主分区,1 表示聚集索引分区。通过连接 sys.tables 和 sys.partitions 视图,并按照记录数进行分组和排序,可以得到所有表的记录数,并按照记录数倒序排列。
原文地址: https://www.cveoy.top/t/topic/qt1h 著作权归作者所有。请勿转载和采集!