Есть таблица `tab` и поля `uid` - user_id, `balls` - некие баллы. Строк в этой таблицу у юзера может быть сколько угодно. Нужно вывести рейтинг с сортировкой по сумме этих баллов у юзера
Химик, по пробуйте так:
SELECT `uid`, SUM(`balls`) AS `balls_sum`
FROM `tab`
GROUP BY `uid`
ORDER BY `balls_sum` DESC
Химик, (`field_1` + `field_2`) as `total`
потом ORDER BY `total` DESC
L!MP (28.08.2012/16:20)
Химик, по пробуйте так: SELECT `uid`, SUM(`balls`) AS `balls_sum`
FROM `tab`
GROUP BY `uid`
ORDER BY `balls_sum` DESC
Спасибо, уже сделал так же. Теперь мне нужно узнать место в так сказать рейтинге конкретного id, среди суммы `balls` других
Химик, по пробуйте так:
SELECT COUNT(*), SUM(`balls`) AS `balls_sum`
FROM `tab` WHERE `balls_sum` >= '" . $баллы_пользователя . "'
GROUP BY `uid`
L!MP, #1054 - Unknown column 'balls_sum' in 'where clause'
Химик, честно, х.з тогда
.gif)
М.б стоит пересмотреть стр-ру таблицы.
Зачем каждый раз делать доп.запись если можно просто сразу сплюсовывать кол-во баллов пользователя.
Хотя это настолько очевидно, что я думаю у Вас какой-то особый случай и нужно именно так, как сделано
Химик, как вариант искать в цикле при этом плюсовать какую то переменную на +1 с каждым юзером пока не найдется нужный юзер и потом просто вывести цифру той переменной
L!MP (28.08.2012/16:23)
Не юзать mysql_pconnect .gif)
Угу. Уже давно не юзаю. Тогда зачем она?!