select 名字,分数,rank() over(partition by 年级id,班级id order by 分数 desc) rk_class,rank() over(partition by 年级id order by 分数 desc) rk_grade from tbname where 学校id = 1 order by 名字
解决方案 »
- 关于监听器启动不了的问题
- hibernate里,怎么随机取出一条数据?
- 在连接符中使用绑定变量出错
- v$nls_parameters 和 v_$nls_parameters ???
- 关于统计的sql查询问题
- 请问,oracle中如何实现一种日期格式到另一种日期格式的转变,比如说把'yyyy-mm-dd hh24:mi:ss'格式的日期简化为'yyyy-mm-dd'。
- 关于ORALCE中外连接的问题???
- oracle 自动任务 定时执行
- 比对两张表数据,判断谁比谁多,记录新表
- oracle触发器的问题
- 关于两个表之间的constraint定义的问题!!
- 让job正常的定时运行,到底需要改那些参数阿?
楼主可以分别用Rank()和Dense_rank()试试区别。Dense_rank()序列返回时没有间隔的数。
但用RANK()还是用DENSE_RANK()楼主自己看看区别就知道了.
但如果没有同分情况的话,两者结果是一样的,看不出区别,楼主可以造一些在一个班级内或是在一个学校内有同分的数据,就可以看出两者的区别了.至于到底想用哪一种,就随楼主自选了.