求一SQL语句

toplaji 2005-09-27 01:12:43
程序运行过程中取出一个动态表,字段包括班级,学号,成绩
要求对取出的数据做如下处理: 当一个班级的学生人数(学号)小于10的时候,去掉该班级首尾两个学号。
例如 取出一个动态表
班级 学号 成绩
1 1 .
1 2 .
。 。 .
。 。 .
2 1
。 。
3 1
。 。


请教了 !!
...全文
83 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianfdlpw 2005-09-27
  • 打赏
  • 举报
回复
select * from 表 t
where (select count(1) from 表 where 班级=t.班级)>=10
or
(
(select count(1) from 表 where 班级=t.班级)<10
and
t.学号 not in(select min(学号) from 表 where 班级=t.班级
union
select max(学号) from 表 where 班级=t.班级
)
)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧