@drozanov

Распределение бонусов между пользователями?

Есть например 5 пользователей. (Пользователей может быть сколько угодно)

id - points
1 - 3
2 - 1
3 - 5
4 - 8
5 - 9

Есть например общее количество бонусов - 500.
Как сделать распределение бонусов между всеми пользователями от большего points к меньшему?
Кто больше набрал баллов(points) - больше бонусов получил.
Пользователи находятся в бд users.
Спасибо.
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
kawabanga
@kawabanga
Эм.... что ни день, то вопросы сводятся, к "Сколько будет 2+2?"

Что надо, чтобы решить вашу задачу?
1) Общее кол-во бонусов.
2) Кол-во балов, набранное пользователями. Забирается следующим запросом:
"select sum(points) from users where 1;"
3) Подсчитать кол-во бонус всех пользователей или конкретного, след запросом, где :bal - общее число балов, набранное пользователями:
"select id, 500/100* ( points/:points) as bonus from users where 1"

Разве так сложно додуматься самому, ну честно?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы