SQL 請問SQL︰同時抽取某兩次測考的平均分

本文由 pillyuen 在 2019-12-10 發表於 "WebSAMS 討論區" 討論區

  1. 10399471

    pillyuen
    Expand Collapse

    文章:
    12
    讚:
    0
    你好!
    請幫忙寫出SQL,以抽取以下資料︰
    學生姓名、班別、班號、同年或(上年和本年)其中某兩次指定測考的平均分
    以匯出excel用來計算進步(退步)分數的。

    謝謝!
     
    #1 pillyuen, 2019-12-10
  2. 58521906

    edb-catherinewschan
    Expand Collapse

    文章:
    97
    讚:
    0
    #2 edb-catherinewschan, 2019-12-16
  3. 10399471

    pillyuen
    Expand Collapse

    文章:
    12
    讚:
    0
    不好意思,我想要的是各學生的某兩次考測的總平均分,例如輸入T1A1和T1A3,就出到各學生這兩次的總平均分。請問如何寫SQL?謝謝!
     
    #3 pillyuen, 2019-12-18
  4. 58521906

    edb-catherinewschan
    Expand Collapse

    文章:
    97
    讚:
    0
    試試以下的, 輸入年份及該考績(e.g. 1101 or 1202) , 就出到兩個考績的 學生總平均分 及 diff。

    select
    a.CLASSCODE '班別',
    a.CLASSNO '學號',
    a.CHNAME '姓名',
    str(avg(b.syspercscore),5,2) 'b.schyear 總平均分',
    str(avg(c.syspercscore),5,2) 'c.schyear 總平均分',
    str((case when avg(b.syspercscore) is null then 0 else avg(b.syspercscore) end) - (case when avg(c.syspercscore) is null then 0 else avg(c.syspercscore) end),5,2) 'b.schyear 總平均分 - c.schyear 總平均分 進步/退步'
    from wsadmin.VW_STU_LATESTSTUDENT a
    left outer join wsadmin.tb_asr_subjassessdata b
    on a.suid=b.suid and a.schlvl=b.schlevel and a.schsess=b.schsession and a.classlvl=b.classlevel and b.schyear=? and a.stuid=b.stuid and b.timeseq=?
    left outer join wsadmin.tb_asr_subjassessdata c
    on a.suid=c.suid and a.schlvl=c.schlevel and a.schsess=c.schsession and a.classlvl=c.classlevel and c.schyear=? and a.stuid=c.stuid and b.subjcode=c.subjcode and c.timeseq=?
    where b.sysscore is not null
    group by a.classcode, a.CLASSNO, a.chname
    order by a.classcode, a.CLASSNO, a.chname
     
    #4 edb-catherinewschan, 2019-12-20
  5. 10399471

    pillyuen
    Expand Collapse

    文章:
    12
    讚:
    0
    十分感謝!
     
    #5 pillyuen, 2020-01-06