請教同工,我使用以下SQL將每級每科頭三名的同學資料抽出來,我校每級裏面有中英文班,例如中一級有歷史中文班及歷史英文班,我在WebSAMS設定一同計算科目名次,但資料抽出來出現異常(見連結歷史科例子,並不是頭三名), https://docs.google.com/document/d/1JlLXnPjBDu7Lh7grtmjw2TXvchXBSkjMtR9YbTUEHCQ/edit?usp=sharing 請教如何修改,可以一同計算或分開計算科目名次都沒有問題,謝謝。 select b.SCHYEAR'學年',c.CLASSLEVEL'級別', d.EN_DES'SUB', d.CH_DES'科目', c.MOI,c.SYSSCORE'分數(T1)', b.CLASSCODE'班別', b.CLASSNO'學號', a.ENNAME'NAME', a.CHNAME'姓名' from TB_STU_STUDENT a left outer join TB_STU_STUSCHREC b on a.SUID=b.SUID and a.STUID=b.STUID left outer join TB_ASR_SUBJASSESSDATA c on a.SUID=c.SUID and a.STUID=c.STUID and b.SCHYEAR=c.SCHYEAR left outer join TB_HSE_COMMON d on a.SUID=d.SUID and d.TB_ID='SBJ' and c.SUBJCODE=d.CODE_ID left outer join TB_ASR_CLSLVLSUBJSETTING e on a.SUID=e.SUID and b.SCHYEAR=e.SCHYEAR and b.SCHLVL=e.SCHLEVEL and b.SCHSESS=e.SCHSESSION and b.CLASSLVL=e.CLASSLEVEL and c.SUBJCODE=e.SUBJCODE and c.TIMESEQ=e.TIMESEQ and c.MOI=e.MOI left outer join TB_ASR_CLSLVLSUBJSETTING f on a.SUID=f.SUID and b.SCHYEAR=f.SCHYEAR and b.SCHLVL=f.SCHLEVEL and b.SCHSESS=f.SCHSESSION and b.CLASSLVL=f.CLASSLEVEL and c.SUBJCODE=f.SUBJCODE and c.MOI=f.MOI where b.SCHYEAR=? and c.TIMESEQ=1100 and f.TIMESEQ=1000 and c.OMCLASSLVL<=3 and b.classlvl in ('S1', 'S2', 'S3', 'S4', 'S5') order by c.CLASSLEVEL,f.prtseq, d.EN_DES,c.SYSSCORE desc,b.CLASSCODE, b.CLASSNO
你好, 查看過你的SQL,應該沒有問題。因為我可以抽取到某一科的中文教學和英國教學的各自排名。 所以請查看一下WEBSAMS的學生成績模組,[S-ASR05-02] 學生成績 > 設定 > 名次編排準則 例如:週會有中文和英文教學。如果把週會加到"已選擇的科目",那麼中文和英文教學的排名是混合一起計。 如果維持以下的設定就會中文和英文教學分開計排名。 所以請你查看一下以下的設定是怎樣先。如果再有問題,請聯絡校主作進一步了解。