表A
老师 学生 班级类型张老师 小吴 大班
张老师 小李 大班
王老师 小吴 小班
王老师 小李 小班
张老师 小陈 小班
王老师 小张 大班问题:
一个老师可能同时教大班和小班,求教大班人数比小班人数多的老师?
老师 学生 班级类型张老师 小吴 大班
张老师 小李 大班
王老师 小吴 小班
王老师 小李 小班
张老师 小陈 小班
王老师 小张 大班问题:
一个老师可能同时教大班和小班,求教大班人数比小班人数多的老师?
解决方案 »
- 帮忙写个UPDATE
- sql server2005 只要一访问就死掉了 各位帮个忙分析分析
- Sql Server 7.0并发访问支持多少人同时进行,需要多大的带宽呢?
- 十万火急!!!我公司网站用的是虚拟空间,现在换了一个提供商,数据库服务器也换了,我该怎么把以前的数据转到现在的服务器上?(分不够
- 高手帮帮忙,准高手顶一顶,谢谢了!
- 从头开始加密SQL 2005数据库? 高手请进!
- SQL Server 2005 附加上去的数据库为只读状态,怎么改成可以读写状态?
- MSSQL 2000如何备份局域网中的数据到本地计算机??
- 【求助】求一SQL脚本实现如下功能,请大虾进来帮忙。
- 合并(使用Merge)超时问题
- SQL Server: 如何通过查旬分析器把数据库备份到本机(不是Server)磁盘?
- 我如何直接用SQL来得到字符串的数组长度?
from
(select 老师,班级类型,人数=count(*)
from tb where 班级类型='小班' group by 老师,班级类型)A
,
(select 老师,班级类型,人数=count(*)
from tb where 班级类型='大班' group by 老师,班级类型)B
where B.人数>A.人数
union all select '张老师' ,'小李' ,'大班'
union all select '王老师' ,'小吴' ,'小班'
union all select '王老师' ,'小李' ,'小班'
union all select '张老师' ,'小陈' ,'小班'
union all select '王老师' ,'小张' ,'大班' SELECT ls from @a group by ls
HAVING sum(CASE WHEN bj='大班' then 1 else 0 end) >sum(CASE WHEN bj='小班' then 1 else 0 end)--result
/*ls
--------------------
张老师(所影响的行数为 1 行)*/
HAVING sum(CASE WHEN bj='大班' then 1 else 0 end) >sum(CASE WHEN bj='小班' then 1 else 0 end)
select 老师 from
(
select 老师, sum(case when 班级类型='小班' then 1 else 0 end) as 小班,
sum(case when 班级类型='大班' then 1 else 0 end) as 大班
from ta
group by 老师
) a
where 大班>小班
union all select '张老师' ,'小李' ,'大班'
union all select '王老师' ,'小吴' ,'小班'
union all select '王老师' ,'小李' ,'小班'
union all select '张老师' ,'小陈' ,'小班'
union all select '王老师' ,'小张' ,'大班'
select 老师 from
(
select 老师, sum(case when 班级类型='小班' then 1 else 0 end) as 小班,
sum(case when 班级类型='大班' then 1 else 0 end) as 大班
from @a
group by 老师
) a
where 大班>小班
/*
老师
--------------------
张老师
*/