Функция MariaDb / Mysql Rank - один раздел ранжируется перед другим

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

 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

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

0 ответов

Другие вопросы по тегам