Q

The group with the greatest COUNT

I would like to retrieve the record that has the maximum number of counts (records) in the table. I have written a query using the MAX(COUNT(*)) but it doesn't work in SQL Server.

I would like to retrieve the record that has the maximum number of counts (records) in the table. I have written a query using the MAX(COUNT(*)) but it doesn't work in SQL Server.

select count(*) total, 
  a.fd_acct_account_no 
from payment_details_temp a 
group by a.fd_acct_account_no
having count(*) = 
  (select max(count(*)) 
  from payment_details_temp b 
  group by b.fd_acct_account_no ) 

Appreciate your support.

Since this is SQL Server, we can utilize the handy-dandy TOP keyword, which isn't standard SQL, but which serves the purpose very nicely:

select top 1
       count(*) total
     , fd_acct_account_no 
  from payment_details_temp  
group 
    by fd_acct_account_no
order 
    by count(*) desc

Simple, yes?

This was first published in September 2005
This Content Component encountered an error

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide

SearchDataCenter

SearchContentManagement

SearchFinancialApplications

Close