MariaDb / Mysql Функция ранга - один раздел ранжируется раньше другого - PullRequest
1 голос
/ 12 февраля 2020

У меня есть две функции ранга и одна работает как положено. Тем не менее, другой занимает один раздел перед другими разделами. Вот код:

 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 .. et c

, если условие (count1,2,3) не выполняется, я просто ожидаю, что общее количество студентов

Не могли бы вы указать мне правильное направление?

Я использую MariaDb 10.4.10

Edit :: Я понял, что проблема в том ... когда Я удаляю его, рейтинг в порядке Может быть, rank () нельзя поместить внутрь, если ... все еще нужны предложения

...