SQL tutorial | Interview questions | Oracle
Would you like to react to this message? Create an account in a few clicks or log in to continue.

How To Count Groups Returned with the GROUP BY Clause?

Go down

How To Count Groups Returned with the GROUP BY Clause? Empty How To Count Groups Returned with the GROUP BY Clause?

Post by Micheal Sun Jan 17, 2010 3:21 am

If you use the COUNT(*) function on groups returned with the GROUP BY clause, it will count the
number of rows within each group, not the number of groups. If you want to count the number of
groups, you can put the GROUP BY query into a subquery and apply the COUNT(*) function on
the main query as shown in the following tutorial exercise:
SQL> SELECT first_name, COUNT(*) FROM employees
GROUP BY first_name HAVING COUNT(*) > 1;
FIRST_NAME COUNT(*)
-------------------- ----------
Peter 3
Michael 2
Steven 2
John 3
Julia 2
William 2
Karen 2
Kevin 2
......
SQL> SELECT COUNT(*) FROM (
SELECT first_name, COUNT(*) FROM employees
GROUP BY first_name HAVING COUNT(*) > 1
);
COUNT(*)
----------
13

Micheal
Admin

Posts : 243
Join date : 2010-01-10

http://sql-tutorial.co.cc

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum