我有两个排名功能,一个按预期工作。但是,另一个将一个分区排在其他分区之前。这是代码:
if(count1>=3 and count2>=2 and count3>=2,
rank() over (partition by examdateID, sClass Order By orderColumn desc), count(StudentID) over (partition by examdateID, sClass)) as ClassRank ,
if(count1>=3 and count2>=2 and count3>=2,
rank() over (partition by examDateID, sClass, stream Order By orderColumn desc), count(StudentID) over (partition by examdateID, sClass, stream )) as StreamRank from...
我有两个流,我希望 classRank 会给出流中所有学生的排名。但是,流 1 中的所有内容都排在流 2 ...3.. 之前
如果条件 (count1,2,3) 不满足,我只期望学生总数
你能指出我正确的方向吗?
我正在使用 MariaDb 10.4.10
编辑:: 我意识到问题出在 if... 当我删除它时,排名还可以 也许 rank() 不能放在里面 if... 仍然需要建议