with enroll as (
select 1 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 1 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 2 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 3 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 3 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 1 sid, 'dname' dname, 2 cno, 2 secno from dual union all
select 2 sid, 'dname' dname, 2 cno, 2 secno from dual
)
select rn,sid from (
select row_number() over (partition by sid order by dname) as rn ,sid
from enroll)
where rn>1
использовать row_number()
этого запроса работайте правильно, если один сид зарегистрирован на той же секции более одного раза
различны могут быть использованы при необходимости
with enroll as (
select 1 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 1 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 2 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 3 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 3 sid, 'dname' dname, 1 cno, 1 secno from dual union all
select 1 sid, 'dname' dname, 2 cno, 2 secno from dual union all
select 4 sid, 'dname' dname, 2 cno, 2 secno from dual union all
select 2 sid, 'dname' dname, 2 cno, 2 secno from dual
)
select distinct sid from (
select row_number() over (partition by sid order by dname) as rn ,sid
from enroll)
where rn>1
Выходной
> SID
> ----------
> 1
> 2
> 3
, но я хочу пару sudents быть зачисленным в 2-х или более секций вместе. приведенный выше запрос дает пару, зарегистрированную в одном разделе вместе –
@anvitapotluri см. обновление, вместо 'distinct' use' group by' и 'having' – FuzzyTree