MS-SQL - 每个选择命令计算数据库中每个表的所有行[重复]
Posted
技术标签:
【中文标题】MS-SQL - 每个选择命令计算数据库中每个表的所有行[重复]【英文标题】:MS-SQL - Count all rows per table in a DB per Select Command [duplicate] 【发布时间】:2021-12-16 05:14:43 【问题描述】:我编写了这个选择命令,它为我提供了具有数据库中相关列数的表。
SELECT
t.TABLE_NAME,
(SELECT
COUNT(*)
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_name = t.TABLE_NAME) as COLUMNS
FROM INFORMATION_SCHEMA.TABLES t
我现在尝试扩展它并获取行,但我一直失败。 another thread 中有一个解决方案,但我缺少 INFORMATION_SCHEMA.TABLES 中的 TABLE_ROWS。 是否有另一种获取行的方法?
【问题讨论】:
这能回答你的问题吗? SQL count rows in a table(具体参见this answer。) 是的,很好。非常感谢拉努!这就是我需要的。 :) 【参考方案1】:这很完美。谢谢@Larnu。
SELECT
t.TABLE_NAME,
(SELECT
COUNT(*)
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_name = t.TABLE_NAME) as COLUMNS,
(select
sum([rows])
from
sys.partitions
where object_id=object_id(t.TABLE_NAME) and index_id in (0,1)) as ROWS
FROM INFORMATION_SCHEMA.TABLES t
【讨论】:
使用sys.tables
而不是INFORMATION_SCHEMA.TABLES
哦,谢谢。现在我不再需要排除额外的视图。 :)以上是关于MS-SQL - 每个选择命令计算数据库中每个表的所有行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
从表中选择最新的带时间戳的值,该表对于一个列 id 有多个条目,对于每个唯一的列 id 和来自另一个表的数据
当我在 Redshift 中使用 DISTSTYLE ALL 分发表时,每个计算节点上的切片如何占 DISTSTYLE ALL'd 表的磁盘空间?