Как мне ранжировать значения массива с повторяющимися значениями и пропускать некоторые позиции, если есть ничья?

Я работаю над базой данных, которая манипулирует результатами экзаменов студентов. По сути, я беру записи из базы данных MySq, выбирая один класс в любой момент времени. Я хочу поставить студентов в ранг, с лучшим исполнителем под номером 1.
По сути, я беру записи из базы данных MySq, выбирая один класс в любой момент времени. Я хочу поставить студентов в ранг, с лучшим исполнителем под номером 1.
По сути, я беру записи из базы данных MySq, выбирая один класс в любой момент времени. Я хочу поставить студентов в ранг, с лучшим исполнителем под номером 1.
Вот иллюстрация;

Marks: 37, 92, 84, 83, 84, 65, 41, 38, 38, 84.  

Итак, я хочу записывать данные mysql как единый массив. Когда у меня есть данные в массиве, я должен назначить каждому ученику позицию в классе, например 1/10 (номер 1, оценка 92), 4/10 и т. Д. Теперь проблема в том, что если есть ничья, тогда следующая оценка пропускает позицию, и если есть 3 оценки на одной позиции, то следующая оценка пропускает 2 позиции. Таким образом, оценки выше будут ранжироваться следующим образом;

92 - 1
84 - 2,
84 - 2,
84 - 2,
83 - 5,
65 - 6,
41 - 7,
38 - 8,
38 - 8 ,
37 - 10

Система выставления оценок требует, чтобы количество должностей (рангов, если хотите) было сохранено, поэтому в итоге мы получили 10 должностей в этом классе, поскольку на позициях 3, 4, 5 и 9 не было занимающих. (Вариант заполнения каждого числа даст нам всего 8 позиций! )

Возможно ли (по-человечески / php возможно) использовать PHP для ранжирования вышеперечисленных оценок таким образом, чтобы он мог обрабатывать возможные связи, такие как 4 очка на одной позиции? К сожалению, я не смог придумать функцию для этого. Мне нужна функция PHP (или что-то в этом роде ... PHP), которая будет принимать массив и производить ранжирование, как указано выше.

Мы будем глубоко признательны за любую помощь, хотя я думаю, что могу просить слишком многого. Если это возможно сделать с данными запроса MySQL, не помещая их в массив, это также будет полезно!

5
задан Bululu 4 June 2011 в 05:49
поделиться