当前位置: 代码迷 >> Oracle开发 >> 求个统计数据sql查询语句解决办法
  详细解决方案

求个统计数据sql查询语句解决办法

热度:92   发布时间:2016-04-24 07:31:01.0
求个统计数据sql查询语句
统计某班某学期每个学生最终成绩(表里只有该班该学期的数据)
表:id(number,主键),stunum(varchar2,学号),stuname(varchar2,姓名),mark(varchar2,成绩)

1.学号+姓名 确定学生的唯一性
2.一学期里每个学生都有多次成绩,最高分为有效成绩

查询结果:查询出这学期这个班每个学生的有效成绩
例:表数据(1,110,张三 60),(2,110,张三 70),(3,115,张三 60),此为2人

------解决方案--------------------
SQL code
select *  from (select t.*,               ROW_NUMBER() over(partition by stunum, stuname order by mark desc) rn          from temp_marks t) where rn = 1
------解决方案--------------------
SQL code
select t.stunum,t.stuname,max(mark)  markfrom tgroup by  t.stunum,t.stuname
------解决方案--------------------
探讨

SQL code

select *
from (select t.*,
ROW_NUMBER() over(partition by stunum, stuname order by mark desc) rn
from temp_marks t)
where rn = 1

------解决方案--------------------
select stunum, stuname,max(mark)
from table
group by stunum, stuname
  相关解决方案