У меня есть таблица Foo(id, name, rateAvg, rateNum)
. rateAvg
составляет от 1 до 5 и rateNum
- это количество ставок по пользователям.запрос запроса mysql на два столбца с весом для каждого из них
я запрашиваю таблицу с MySQL и заказать их по самому номинальному Фоосу так:
SELECT * FROM Fooo ORDER BY rateAVG DESC, rateNum DESC
, но это не вполне справедливо, например, один ряд имеет rateAvg в 4,8 с 1000 ставок, а другое с rateAvg из 5 и 10, и по моему пункту запроса два на первом месте.
Edit: комментарием о @kingkero я узнал, что каждый из rateAvg и rateNum должны иметь определенный вес для заказа, как можно применить, что в моем запросе
Это сложный вопрос, я боюсь, что он не подходит для переполнения стека. Все зависит от того, как вы определяете «справедливость». Вы можете использовать количество оценок в качестве веса, но влияние этого должно быть изменено для вашего индивидуального приложения. – kero
Это вопрос дизайна, а не программирующий. Это действительно зависит от вас, как вы оцениваете количество рейтингов и средний рейтинг для составления списка. Самое простое решение состоит в том, чтобы умножить 2 числа друг на друга, чтобы получить оценку, и использовать эту оценку для получения ваших результатов. – Shadow