求SQL查询语句

2025-03-22 22:49:52
推荐回答(2个)
回答1:

1、
select * from (
    select BJMC,count(XM) as BJRS from T_JBXX group by BJMC
) t
where BJRS>30 

2、
select * from (
    select t1.BJMC,
           sum(case when t2.XBMC='男生' then 1 else 0 end ) as boy,
           sum(case when t2.XBMC='女生' then 1 else 0 end ) as girl,
           sum(1) total
    from T_JBXX t1
    left join T_XB t2
    on t1.XBDM=t2.XBDM and t2.XBMC in('男生','女生')
    group by t1.BJMC
)t

第二题如果只有男女的话,其实没那么复杂,之所也这么写是考虑到可能存在人妖或者其他异类,所以还是严谨点。

回答2:

select BJMC from T_JBXX GROUP BY YXMC HAVING COUNT(*) > 30;