有一个数据表,格式如下: 班级 姓名 科目 成绩
(1)班 小明 语文 85
(1)班 小明 数学 90
(1)班 小兰 语文 83
(1)班 小兰 数学 95
(1)班 小欢 语文 86
(1)班 小欢 数学 91
(2)班 小花 语文 87
(2)班 小花 数学 89现在要求如下
1. xxxxx忽略2. xxxxx忽略
3. 用sql语句判断(1)班的单科成绩都大于85分的是谁小梁的答案:select 姓名 from tb
where 班级 = '1班'
group by 姓名
having count(case when 成绩 > 85 then 1 end) = count(*);
还有其他方法么?
(1)班 小明 语文 85
(1)班 小明 数学 90
(1)班 小兰 语文 83
(1)班 小兰 数学 95
(1)班 小欢 语文 86
(1)班 小欢 数学 91
(2)班 小花 语文 87
(2)班 小花 数学 89现在要求如下
1. xxxxx忽略2. xxxxx忽略
3. 用sql语句判断(1)班的单科成绩都大于85分的是谁小梁的答案:select 姓名 from tb
where 班级 = '1班'
group by 姓名
having count(case when 成绩 > 85 then 1 end) = count(*);
还有其他方法么?
解决方案 »
- DBCC DBREINDEX与DBCC INDEXDEFRAG
- 引入用友帐套,出现“未能找到存储过程...”
- 求一个sql语句,大家进来帮忙啊,进者有分!!!
- 求助:BCP方式怎样将数据导入SQL SERVER 在线等,急.......
- 为什么我的触发器不能使用?
- 请教一条sql语句???
- 如何通过存储过程实现远程导入导出EXCEL???
- 取一定范围内所有日期
- sql server在局域網內用電腦名稱可以連,但是用ip地址不能連(其它機都可以,就我的不行),提示sql 不存在或 拒絕訪問,請高手指點?
- 如何才能在DELPHI得到在ORACLE中自定义的错误提示信息和错误类型的编号
- 用sql实现两个数据表的连接计算
- 在sql server 2005 express中如何实现自动备份数据库?
use master
go
create table tb
(
班级 nvarchar (100)
,姓名 nvarchar(100)
,科目 nvarchar(100)
,成绩 int
)
insert tb
select '(1)班', '小明', '语文', 85
union all select '(1)班', '小明', '数学', 90
union all select '(1)班', '小兰', '语文', 83
union all select '(1)班', '小兰', '数学', 95
union all select '(1)班', '小欢', '语文', 86
union all select '(1)班', '小欢', '数学', 91
union all select '(1)班', '小花', '语文', 87
union all select '(1)班', '小花', '数学', 89 update tb set 班级=' (2)班' where 姓名='小花'select * from tbselect top 2 班级,姓名,avg(成绩) from tb
where 班级='(1)班'
group by 班级,姓名
order by avg(成绩) descselect 姓名 from tb
where
(
班级 nvarchar (100)
,姓名 nvarchar(100)
,科目 nvarchar(100)
,成绩 int
)
insert tb
select '(1)班', '小明', '语文', 85
union all select '(1)班', '小明', '数学', 90
union all select '(1)班', '小兰', '语文', 83
union all select '(1)班', '小兰', '数学', 95
union all select '(1)班', '小欢', '语文', 86
union all select '(1)班', '小欢', '数学', 91
union all select '(1)班', '小花', '语文', 87
union all select '(1)班', '小花', '数学', 89 select distinct 姓名 from tb where 班级 = '(1)班' and 姓名 not in (select 姓名 from tb where 班级 = '(1)班' and 成绩 <= 85)/*
姓名
----------------------------------------------------------------------------------------------------
小花
小欢(所影响的行数为 2 行)
*/update tb set 班级=' (2)班' where 姓名='小花'select distinct 姓名 from tb where 班级 = '(1)班' and 姓名 not in (select 姓名 from tb where 班级 = '(1)班' and 成绩 <= 85)
/*姓名
----------------------------------------------------------------------------------------------------
小欢(所影响的行数为 1 行)
*/drop table tb