17,082
社区成员
发帖
与我相关
我的任务
分享
select familyid,uname from emname
where familyid in
(
select familyid from emname
group by familyid
having count(*) = (select max(count(*)) from emname
group by familyid)
)
create table family(familyid number,family varchar2(20),phoneno varchar2(30))
insert into family(familyid ,family ,phoneno )
select 1, 'lijia','54343' from dual
union all
select 2, 'wangjia','5654656' from dual
union all
select 3, 'zhaojia','6546456' from dual
union all
select 4, 'caijia','765765' from dual
union all
select 5, 'ququ','869548605' from dual
commit;
create table emname(id number,familyid number,uname varchar2(30))
insert into emname(id ,familyid ,uname)
select 1, 1, 'gfd' from dual
union all
select 2, 1, 'gfgf' from dual
union all
select 3, 1, 'hghjgj' from dual
union all
select 4, 2, 'hjyy' from dual
union all
select 5, 3, 'jhjyh' from dual
union all
select 6, 4, 'juyuu' from dual
union all
select 7, 5, 'kytr' from dual
union all
select 8, 4, 'uyjyt' from dual
union all
select 9, 4, 'jukyuy' from dual
union all
select 10, 3, 'jhjhgj' from dual
commit;
select familyid,uname from emname
where familyid in
(
select familyid from emname
group by familyid
having count(*) = (select max(count(*)) from emname
group by familyid)
)
SELECT familyid ,
uname
FROM emname
WHERE familyid = ( SELECT familyid
FROM ( SELECT familyid ,
row_number() OVER ( ORDER BY c DESC ) rk
FROM ( SELECT familyid ,
count(0) c
FROM emname
GROUP BY familyid ) q ) p
WHERE rk = 1 )
select familyid,uname
from emname
where familyid in(
select familyid
from emname
group by familyid
having count(*)>=(select count(*) from emname group by familyid))