SQL> create table emp(id number, lastname varchar2(30));
Table created.
SQL> insert into emp values(1, 'Pupkin');
1 row created.
SQL> insert into emp values(2, 'Petrov');
1 row created.
SQL> insert into emp values(3, 'Ivanov');
1 row created.
SQL> insert into emp values(4, 'Vasechkin');
1 row created.
SQL> insert into emp values(4, 'Pupkin');
1 row created.
SQL> insert into emp values(5, 'Pupkin');
1 row created.
SQL> insert into emp values(6, 'Petrov');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from emp;
ID LASTNAME
---------- ------------------------------
1 Pupkin
2 Petrov
3 Ivanov
4 Vasechkin
4 Pupkin
5 Pupkin
6 Petrov
7 rows selected.
SQL> select *
2 from (select id,
3 lastname,
4 count(*) over(partition by lastname) q
5 from emp) q
6 where q.q > 1;
ID LASTNAME Q
---------- ------------------------------ ----------
2 Petrov 2
6 Petrov 2
1 Pupkin 3
5 Pupkin 3
4 Pupkin 3
SQL> |