Linhas de contagem SQL numa tabela

Preciso de enviar uma consulta SQL para uma base de dados que me diga quantas linhas há numa tabela. Podia ter todas as filas na mesa com um SELECT e depois contá-las, mas não gosto de o fazer assim. Existe alguma outra maneira de perguntar o número de linhas em uma tabela para o servidor SQL?

Author: CyberDude, 2015-03-07

5 answers

Sim, SELECT COUNT(*) FROM TableName

 26
Author: CyberDude, 2015-03-07 16:13:48
select sum([rows])
from sys.partitions
where object_id=object_id('tablename')
 and index_id in (0,1)

É muito rápido, mas muito raramente impreciso.

 2
Author: benjamin moskovits, 2015-03-07 17:23:57

Utilize Esta Consulta:

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
 2
Author: Ardalan Shahgholi, 2015-04-25 06:17:02

Aqui está a consulta

select count(*) from tablename

 or 

select count(rownum) from studennt
 1
Author: Lova Chittumuri, 2017-03-01 19:07:43

Porque é que não clicas com o botão direito na tabela e depois propriedades -> Armazenamento e dir-te-ia a contagem de linhas. Você pode usar o abaixo para a contagem de linhas em uma vista

SELECT SUM (row_count) 
FROM sys.dm_db_partition_stats 
WHERE object_id=OBJECT_ID('Transactions')    
AND (index_id=0 or index_id=1)`
 0
Author: Dustin, 2017-12-13 23:30:31