List tables by the number of rows in SQL Server database

This query returns list of tables in a database with their number of rows.


select schema_name(tab.schema_id) + '.' + as [table], 
       sum(part.rows) as [rows]
   from sys.tables tab
        inner join sys.partitions part
            on tab.object_id = part.object_id
where part.index_id IN (1, 0) -- 0 - table without PK, 1 table with PK
group by schema_name(tab.schema_id) + '.' +
order by sum(part.rows) desc


  • table - table name with schema name
  • rows - number of rows in a table


  • One row represents one table
  • Scope of rows: all tables in a database including tables without rows
  • Ordered by number of rows descending, from largest to smallest (in terms of number of rows)

Sample results

Tables by number of rows in our SSRS repository:

Comments are only visible when the visitor has consented to statistics cookies. To see and add comments please accept statistics cookies.
There are no comments. Click here to write the first comment.