求指定考试科目成绩与上一次成绩的差,并排序。

image.png

学生成绩表


上面就学生成绩表,现在想根据参数指定的日期,求与上一次考试的成绩差,然后排序。也就是相知道学习成绩提升或下降的情况。

FineReport zrh197218 发布于 2019-9-28 11:33
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
孤陌Lv6资深互助
发布于2019-9-28 11:36(编辑于 2019-9-28 12:21)

建议导出个内置数据集模板 让大家帮你弄

不过 排序 怎么排 不知道你想怎么排

感觉 应该这样弄 根据姓名来分组 然后再根据科目 分组  然后考试的时间进行升序排列  然后循环 比大小 然后用箭头来表示 成绩的提升还是下降


image.png

最佳回答
0
540922194Lv6见习互助
发布于2019-9-28 11:40

写两个子sql,都写写出排名,项目。科目,分数,两个sql通过姓名和科目进行关联,两个sql分别加上时间参数,这样就可以得出随意时间的对比了

最佳回答
0
jongwangLv6中级互助
发布于2019-9-28 11:51(编辑于 2019-9-28 11:52)

试下这个呢:

select * from (

select a.* , nvl(成绩-lag(成绩) over (partition by 学生编号,课程名称 Order by 考试日期 asc),0)  px

from  tablename a 

order by px 


  • zrh197218 zrh197218(提问者) 表名就是:成绩表。把表名换了后,这个公式出错。
    2019-09-28 12:28 
  • jongwang jongwang 回复 zrh197218(提问者) 报什么错呢
    2019-09-28 18:34 
最佳回答
0
James.GaoLv1见习互助
发布于2019-9-29 16:21

用环比来求差距,环比-https://help.finereport.com/doc-view-350.html,再根据环比排序

  • 5关注人数
  • 716浏览人数
  • 最后回答于:2019-9-29 16:21
    请选择关闭问题的原因
    确定 取消
    返回顶部