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

1. Samxal (01.05.2013 / 17:56)
Здравствуйте. Имеется таблица юзеров. Допустим хочу сделать рейтинг 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

2. Кевин Митник (01.05.2013 / 18:25)
обоже)) все проще) SELECT bal FROM users ORDER BY bal DESC LIMIT 10

3. Samxal (01.05.2013 / 18:58)
Кевин Митник_HHTeam (1 Мая 2013 / 18:25)
обоже)) все проще) SELECT bal FROM users ORDER BY bal DESC LIMIT 10
Вопрос вы не поняли кажется smile

4. Кевин Митник (01.05.2013 / 19:23)
я выбрал 10 юзеров с наибольшим рейтингом. сортировка от бОльшего.

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

5. Samxal (01.05.2013 / 19:35)
Кевин Митник_HHTeam (1 Мая 2013 / 19:23)
я выбрал 10 юзеров с наибольшим рейтингом. сортировка от бОльшего.

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

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

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

7. Богдан (02.05.2013 / 23:12)
6. И что ты получишь?) ид то у всех разные. Вторая сортировка применяется только в случае совпадения первого параметра

8. Алексей (03.05.2013 / 00:46)
человек спросил как данные в массиве сортировать, а вы ему как ему из бд выборку сделать...

9. Кевин Митник (03.05.2013 / 04:51)
7. G_A_N_J_A_R, можно сортировать по id, к примеру, и IF, в случае если > 150 баллов. Чтобы все в SQL запросе было, а не выносить в php

10. Erika (07.05.2013 / 00:10)
$arr = array(1, 2, 3, 4, 5);
echo max($arr); //5


URL: https://visavi.net/topics/37704