- 3,714,815 Users
- 2,242,633 Discussions
- 7,845,076 Comments
Forum Stats
Discussions
Categories
- 12 Data
- 362.2K Big Data Appliance
- 6 Data Science
- 1.5K Databases
- 447 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 487 MySQL Community Space
- 3 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.7K ORDS, SODA & JSON in the Database
- 415 SQLcl
- 42 SQL Developer Data Modeler
- 184.8K SQL & PL/SQL
- 21K SQL Developer
- 1.8K Development
- 3 Developer Projects
- 32 Programming Languages
- 135K Development Tools
- 7 DevOps
- 3K QA/Testing
- 236 Java
- 4 Java Learning Subscription
- 10 Database Connectivity
- 65 Java Community Process
- Java 25
- 8 Java APIs
- 141.1K Java Development Tools
- 5 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 134 Java 8 Questions
- 86.2K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 10 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 118 LiveLabs
- 28 Workshops
- 9 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 10 Español
- 1.9K Japanese
- 2 Portuguese
COUNT(*) KEEP (DENSE_RANK LAST ORDER BY COUNT(*)) OVER (PARTITION BY A,B)

Hi,
How do I count(*) over a group that is less aggregated than the group by (in Oracle 12.1)?
Example:
select deptno, lastname, count(*)
, count(*) keep (dense_rank last order by count(*)) over (partition by deptno) ?????
from emp join emp on ...
group by deptno, lastname
I know this works as well:
with x as ( select deptno, lastname, count(*) total from emp join emp on ... group by deptno, lastname)
select y.deptno, y.lastname, y.total, z.total
from x y join (select deptno, sum(total) from x) z on y.deptno = z.deptno
Best Answer
-
I found the answer myself in an ultimate attempt to fix this. It seems the following is the answer:
sum(count*)) keep ...
Answers
-
I found the answer myself in an ultimate attempt to fix this. It seems the following is the answer:
sum(count*)) keep ...