테이블의 SQL 수 행
테이블에 몇 개의 행이 있는지 알려주는 SQL 쿼리를 데이터베이스로 보내야 합니다.SELECT를 사용하여 테이블의 모든 행을 가져온 다음 셀 수 있지만, 이 방법은 좋아하지 않습니다.SQL 서버에 테이블 내의 행 수를 문의할 수 있는 다른 방법이 있습니까?
네.SELECT COUNT(*) FROM TableName
select sum([rows])
from sys.partitions
where object_id=object_id('tablename')
and index_id in (0,1)
매우 빠르지만 부정확한 경우는 거의 없습니다.
여기 쿼리가 있습니다.
select count(*) from tablename
또는
select count(rownum) from studennt
테이블을 우클릭한 후 속성 -> 스토리지 - 를 클릭하면, 「스토리지」가 표시됩니다.뷰의 행 수에 대해 아래를 사용할 수 있습니다.WHERE 절에 테이블 이름을 사용합니다.
SELECT SUM (row_count)
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID('TableName')
AND (index_id=0 or index_id=1)`
이 쿼리 사용:
Select
S.name + '.' + T.name As TableName ,
SUM( P.rows ) As RowCont
From sys.tables As T
Inner Join sys.partitions As P On ( P.OBJECT_ID = T.OBJECT_ID )
Inner Join sys.schemas As S On ( T.schema_id = S.schema_id )
Where
( T.is_ms_shipped = 0 )
AND
( P.index_id IN (1,0) )
And
( T.type = 'U' )
Group By S.name , T.name
Order By SUM( P.rows ) Desc
인덱스 통계가 최신이어야 하지만 MS_SHIFED가 아닌 모든 테이블의 행 수가 반환됩니다.
select o.name, i.rowcnt
from sys.objects o join sys.sysindexes i
on o.object_id = i.id
where o.is_ms_shipped = 0
and i.rowcnt > 0
order by o.name
모든 테이블에 대해 다음 조건을 적용할 수도 있습니다.
SELECT SCHEMA_NAME([schema_id])[Schema],t.[name][ObjectName],i.[rowcnt][RowsCount] FROM sys.tables AS t
INNER JOIN sysobjects AS o ON o.[id]=t.[object_id]
INNER JOIN sysindexes AS i ON i.[id]=o.[id]
WHERE SCHEMA_NAME([schema_id])='dbo'
AND i.[indid]<2
AND OBJECTPROPERTY(o.[id], 'IsMSShipped')=0
ORDER BY i.[rowcnt]
언급URL : https://stackoverflow.com/questions/28916917/sql-count-rows-in-a-table
'programing' 카테고리의 다른 글
Nodejs가 Windows에 설치된 모듈을 찾을 수 없습니다. (0) | 2023.04.19 |
---|---|
행 끝에 행 번호 및 히트카운트를 표시하도록 GREP 출력을 포맷하려면 어떻게 해야 합니까? (0) | 2023.04.19 |
Microsoft 참조 방법Office.Interop.Excel dll? (0) | 2023.04.19 |
Git 추가 및 커밋을 하나의 명령어로 실행 (0) | 2023.04.19 |
SQL 변수에 exec 결과를 할당하는 방법 (0) | 2023.04.14 |