表student ,ID主键
ID NAME CLASS SCORE
01 a 1 70
09 b 2 90
04 f 4 58
03 h 2 67
05 j 3 45
08 p 1 78
06 k 1 49
02 l 4 65
统计分数大于等级60的班级数(只要有一个学生成绩大于等于60就符合要求)
统计
ID NAME CLASS SCORE
01 a 1 70
09 b 2 90
04 f 4 58
03 h 2 67
05 j 3 45
08 p 1 78
06 k 1 49
02 l 4 65
统计分数大于等级60的班级数(只要有一个学生成绩大于等于60就符合要求)
统计
解决方案 »
- 求SQL转换oracle 语句!
- 新手请教Oracle连接问题!
- 编译和执行存储过程 间歇性报错 ORA-00600 内部错误代码 参数 [kcbnew_3] [18]
- Oracle数据库如何实现自动备份
- 关于set serveroutput 默认关闭问题,如何默认是on状态
- 在过程中怎么调用 系统命令 如:SQLLDR
- 100分求解:用installshield 作安装打包程序的几个问题
- Table(表)和View(视图)有何联系和区别?
- 急贴,oracle9i在linux下的安装问题!!!!
- 大表的查询汇总问题
- orcle的服务器和客户端编码不一致会导致啥问题?
- .net连接不上oracle数据库
SELECT COUNT(DISTINCT(CLASS))
FROM student
WHERE score > 60
我的理解是,id是学生的id,name是学生的姓名,score是学生的分数。
class是班级号吗?班级数是用去重的class来求的吗?
如果我理解的没有错,一楼的做法就是正解。
表student ,ID主键
ID NAME CLASS SCORE AGE SEX
01 a 1 70 15 0
09 b 2 90 19 1
04 f 4 58 20 0
03 h 2 67 16 0
05 j 3 45 19 1
08 p 1 78 17 1
06 k 1 49 19 0
02 l 4 65 17 1
统计分数大于等级60的且年龄要小于18的班级数目(只要有一个学生大于等于60且小于18就符合要求),然后按性别分组
--没太看懂你的意思.下面的你可以测一下.
SELECT class class
,sex sex
,COUNT(CLASS)
-- ,COUNT(CLASS) over (PARTITION BY CLASS,sex)
FROM temp
WHERE score >= 60
AND age < 18
GROUP BY class
,sex