Вычисление "max value" в цикле

Печать RSS
283

Автор
Пришелец
0
Здравствуйте. Имеется таблица юзеров. Допустим хочу сделать рейтинг 10 юзеров по количеству баллов. Как можно вычислить тех у кого баллы максимум в цикле?

Например у юзера "x" есть 150 баллов, а у юзера "y" тоже 150. Если 150 это максимум значение, как это определить и вычислить тех юзеров в цикле ?

Я сам так сделал:
1.
$max = mysql_result(mysql_query(SELECT MAX(bal) FROM `users`),0);

2. Уже в цикле
if($user['bal'] == $max) $color = 'green';

По другому как то можно это осуществить ? Без лишнего запроса.

Спасибо заранееsmile
К

Айсберг Визави
0
обоже)) все проще) SELECT bal FROM users ORDER BY bal DESC LIMIT 10
Автор
Пришелец
0
Кевин Митник_HHTeam (1 Мая 2013 / 18:25)
обоже)) все проще) SELECT bal FROM users ORDER BY bal DESC LIMIT 10
Вопрос вы не поняли кажется smile
К

Айсберг Визави
0
я выбрал 10 юзеров с наибольшим рейтингом. сортировка от бОльшего.

Не очень понятно написано. Для построения топ-10 по количеству баллов не нужно, наверное, так заморачиваться как в примере.
Автор
Пришелец
0
Кевин Митник_HHTeam (1 Мая 2013 / 19:23)
я выбрал 10 юзеров с наибольшим рейтингом. сортировка от бОльшего.

Не очень понятно написано. Для построения топ-10 по количеству баллов не нужно, наверное, так заморачиваться как в примере.

Построения это ясно. Но вопрос в другом. Как вычислить из 10-и у кого макс. количество баллов ? Допустим на 1 месте тот у кого 160 баллов. А если и еще у другого столько же баллов, как это выделить от других ? И построение не всегда по баллу сортируется. Допустим сортировка по "id" идет.
К

Айсберг Визави
0
а зачем вычислять у кого больше, если сортировка по id?
p.s можно по двум критериям сортировать средствами mysql, т.е по id и user_id
Изменил: Кевин Митник (01.05.2013 / 21:21)
Б

Оранжевые штаны
0
6. И что ты получишь?) ид то у всех разные. Вторая сортировка применяется только в случае совпадения первого параметра
А

Пришелец
0
человек спросил как данные в массиве сортировать, а вы ему как ему из бд выборку сделать...
К

Айсберг Визави
0
7. G_A_N_J_A_R, можно сортировать по id, к примеру, и IF, в случае если > 150 баллов. Чтобы все в SQL запросе было, а не выносить в php

Пацак
0
$arr = array(1, 2, 3, 4, 5);
echo max($arr); //5
Изменил: Erika (07.05.2013 / 00:10)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск