Counting Rows of a Database Table Wise in SQL Server
In SQL Server, you can count the rows of a database table wise using the COUNT(*)
function or the sys.partitions
system view.
Syntax:
-- Using COUNT(*) function
SELECT TABLE_NAME, COUNT(*) AS RowCount FROM INFORMATION_SCHEMA.TABLES INNER JOIN TABLE_NAME ON INFORMATION_SCHEMA.TABLES.TABLE_NAME = TABLE_NAME GROUP BY TABLE_NAME;
-- Using sys.partitions system view
SELECT OBJECT_NAME(p.object_id) AS TABLE_NAME, SUM(p.rows) AS RowCount FROM sys.partitions p WHERE p.index_id IN (0,1) GROUP BY p.object_id;
Example 1: Counting Rows using COUNT(*) function
Let's say we have a database with multiple tables, and we want to count the rows of each table.
Query:
SELECT TABLE_NAME, COUNT(*) AS RowCount FROM INFORMATION_SCHEMA.TABLES INNER JOIN sys.tables ON INFORMATION_SCHEMA.TABLES.TABLE_NAME = sys.tables.name GROUP BY TABLE_NAME;
Result:
TABLE_NAME | RowCount |
---|---|
Customers | 100 |
Orders | 500 |
Products | 200 |
The result will display the table name and the count of rows for each table.
Example 2: Counting Rows using sys.partitions system view
Let's say we have a database with multiple tables, and we want to count the rows of each table using the sys.partitions
system view.
Query:
SELECT OBJECT_NAME(p.object_id) AS TABLE_NAME, SUM(p.rows) AS RowCount FROM sys.partitions p WHERE p.index_id IN (0,1) GROUP BY p.object_id;
Result:
TABLE_NAME | RowCount |
---|---|
Customers | 100 |
Orders | 500 |
Products | 200 |
The result will display the table name and the count of rows for each table.