How To Count Groups Returned with the GROUP BY Clause in Oracle?
Submitted by: AdministratorIf 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;
<pre>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</pre>
Submitted by: Administrator
SQL> SELECT first_name, COUNT(*) FROM employees
GROUP BY first_name HAVING COUNT(*) > 1;
<pre>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</pre>
Submitted by: Administrator
Read Online Oracle Database Job Interview Questions And Answers
Top Oracle Database Questions
☺ | What Is the Oracle Implicit Cursor? |
☺ | How Oracle Handles Dead Locks? |
☺ | How To Run SQL*Plus Commands in SQL Developer? |
☺ | What Is Input Buffer in SQL*Plus? |
☺ | How To Recover a Dropped Table in Oracle? |
Top DB Oracle Categories
☺ | Oracle PL-SQL Interview Questions. |
☺ | Oracle DBA Interview Questions. |
☺ | Oracle D2K Interview Questions. |
☺ | OCI Interview Questions. |
☺ | Forms Reports Interview Questions. |