Вот смотрите есть 3 книги 1-ая 20 голосов 4.3 средняя, 2-ая 4 голоса 4.8 средняя, и 3-ая 30 голосов средняя 4.2
делаем расчет
Кол.гол/ср. оценка
1. 20/4.3=4.6
2. 4/4.8=0.8
3. 30/4.2=7.14
сортируем
1. место 3 книга
2. место 1 книга
3. место 2 книга
Пример:
table «book»
id| name | id_mark|
table «mark»
id_mark| mark
select b.name,((select (count(mark)/(sum(mark)/count(mark))) from mark m where m.id_mark=b.id_mark)) as mVal from book b order by mVal DESC;
sql может быть все зависит от архитектуры БД