J'ai besoin d'envoyer une requête SQL à une base de données qui me dit combien de lignes il y a dans une table. Je pourrais obtenir toutes les lignes de la table avec un SELECT et ensuite les compter, mais je n'aime pas le faire de cette façon. Existe-t-il un autre moyen de demander le nombre de lignes d'une table au serveur SQL?
Oui, SELECT COUNT(*) FROM TableName
select sum([rows])
from sys.partitions
where object_id=object_id('tablename')
and index_id in (0,1)
est très rapide mais très rarement inexact.
Utilisez cette requête:
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
Voici la requête
select count(*) from tablename
or
select count(rownum) from studennt
Pourquoi ne pas simplement cliquer avec le bouton droit de la souris sur la table, puis sur Propriétés -> Stockage et le nombre de lignes vous sera indiqué. Vous pouvez utiliser ce qui suit pour le nombre de lignes dans une vue
SELECT SUM (row_count)
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID('Transactions')
AND (index_id=0 or index_id=1)`