Различные вопросы по PHP и MySQL

243K
.
Есть таблица `tab` и поля `uid` - user_id, `balls` - некие баллы. Строк в этой таблицу у юзера может быть сколько угодно. Нужно вывести рейтинг с сортировкой по сумме этих баллов у юзера
.
L!MP
Химик, по пробуйте так:
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
.
Tadochi (23.08.2012/20:24)
ошибка: server gone away при юзании mysql_pconnect. Как решить проблему?
Не юзать mysql_pconnect
.
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'
.
Химик, честно, х.з тогда
М.б стоит пересмотреть стр-ру таблицы.
Зачем каждый раз делать доп.запись если можно просто сразу сплюсовывать кол-во баллов пользователя.
Хотя это настолько очевидно, что я думаю у Вас какой-то особый случай и нужно именно так, как сделано
.
Химик, как вариант искать в цикле при этом плюсовать какую то переменную на +1 с каждым юзером пока не найдется нужный юзер и потом просто вывести цифру той переменной
.
L!MP (28.08.2012/16:23)
Не юзать mysql_pconnect
Угу. Уже давно не юзаю. Тогда зачем она?!
Всего: 7969