2015-03-07 14 views
7

Devo inviare una query SQL a un database che indichi quante righe ci sono in una tabella. Potrei ottenere tutte le righe nella tabella con un SELECT e poi contarle, ma non mi piace farlo in questo modo. C'è un altro modo per chiedere il numero delle righe in una tabella al server SQL?Righe conteggio SQL in una tabella

risposta

16

Sì, SELECT COUNT(*) FROM TableName

1
select sum([rows]) 
from sys.partitions 
where object_id=object_id('tablename') 
and index_id in (0,1) 

è molto veloce, ma molto raramente impreciso.

+0

ho eseguito questo contro una tabella con oltre 400 milioni di righe. Super veloce. –

1

utilizzare questa query:

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 
0

Ecco la query

select count(*) from tablename 

or 

select count(rownum) from studennt 
+0

Grazie Marcanuy. –

-1

Perché non basta fare clic destro sul tavolo e poi Proprietà -> bagagli e sarebbe dire la fila contare. È possibile utilizzare il seguente per conteggio di righe in una 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)` 
Problemi correlati