SQL Server Admin
T-SQL Articles

January 05, 2009

How to List TOP 'N' Rows along with a Count using SQL Server




I recently came across a requirement where the user had to list the details of TOP 5 rows that matched a particular critera, but also had to list the total no rows that matched that criteria.

Here's how it can be solved. I am using the Customers table of the Northwind database:

SELECT TOP 5 CustomerID, CompanyName,
COUNT(*) OVER () AS TotalSimilarTitles
FROM Northwind.dbo.Customers
WHERE ContactTitle = 'Owner'

In the query over here, I list the TOP 5 Customers who have the ContactTitle as 'Owner'. The query also counts the total number of Customers that have the ContactTitle as 'Owner'


Did you like this post?
kick it on DotNetKicks.com
subscribe via rss subscribe via e-mail
print this post follow me on twitter



 
  Feedback:

comments

1 Response to "How to List TOP 'N' Rows along with a Count using SQL Server"
  1. sandy said...
    September 2, 2009 12:23 AM

    SELECT a.CustomerID, a.CompanyName,(Select Count(*)from
    (select TOP (5) * from Northwind.dbo.Customers
    WHERE CustomerID = a.CustomerID AND ContactTitle = 'Owner') as TotalSimilarTitles,COUNT(*)
    FROM Northwind.dbo.Customers a
    group by a.CustomerID

 

Copyright © 2009-2011 All Rights Reserved for SQLServerCurry.com by Suprotim Agarwal | Terms and Conditions