Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка и суммирование по условию 
:(
    Опции темы
querty
Дата 19.11.2008, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



Есть таблица _reputation
            id    date            post_id    user_id    reputation 
            96    2008-11-19 00:00:00    2519        1253        0.00
            95    2008-11-18 00:00:00    2507        1253        0.00
            94    2008-11-16 18:37:00    2505        1319        0.60
            93    2008-11-15 18:21:00    2503        1319        -1.00
            92    2008-11-15 14:39:00    2490        1319        0.55

Нужно отсортировать пользователей с наибольшей репутацией за 30 дней
Помогите составить запрос
Код

SELECT 'user_id', sum ('reputation') as result FROM _reputation WHERE date > ADDDATE(now(),INTERVAL -30 DAY) GROUP BY 'user_id' ORDER BY result


Сам пхп код будет выглядеть следующим образом. (на базе DLE пишу)
Код

$monthRes =$db->super_query("SELECT 'user_id', sum ('reputation') as result FROM " .PREFIX. "_reputation WHERE  date > ADDDATE(now(),INTERVAL -30 DAY) GROUP BY 'user_id' ORDER BY result")

Подскажите, пожалуйста, правильно ли я составил запрос и как мне вытащить из этой таблицы 5 $user_id с наибольшей суммой reputation за 30 дней?
PM MAIL   Вверх
Akina
Дата 19.11.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Код

ORDER BY result DESC LIMIT 5



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
querty
Дата 19.11.2008, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



не получается. Пишет.
The Error returned was: 
FUNCTION ru_pro.sum does not exist
PM MAIL   Вверх
Akina
Дата 19.11.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



В Вашем запросе нет текста "ru_pro.sum".
Dixi.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
querty
Дата 19.11.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.9.2008

Репутация: нет
Всего: нет



sum ('reputation') не хочет выполнять, если sum меняю на avg ('reputation'), то выдает результат средний по таблице, а не по группам

PM MAIL   Вверх
bars80080
Дата 19.11.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



Цитата(querty @  19.11.2008,  13:56 Найти цитируемый пост)
avg ('reputation'), то выдает результат средний по таблице, а не по группам

а если ещё добавить order by group_index ?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.