Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сосчитать числа в полях при определенных условиях. / 8 сообщений из 8, страница 1 из 1
04.07.2015, 22:58:21
    #38999709
MovieClip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
Добрый вечер!
Подскажите, пожалуйста, как можно провернуть такую операцию:
Есть таблица с историей пополнения баллов.
То есть если пользователь получил несколько баллов, то кол-во полученных баллов и id пользователя заносится в таблицу history.
Хочу сделать топ-5 среди тех, кто получил больше всего опыта за текущий месяц.
...
Рейтинг: 0 / 0
04.07.2015, 22:59:44
    #38999711
MovieClip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
Есть несколько записей с получением баллов (или опыт). Нужно сначала все баллы каждого юзера сосчитать, а потом отсортировать по кол-ву этих баллов....
...
Рейтинг: 0 / 0
05.07.2015, 16:10:07
    #38999917
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
MovieClipНужно сначала все баллы каждого юзера сосчитать, а потом отсортировать по кол-ву этих баллов....sum(баллы) as trololo
+
order by trololo desc limit 5
...
Рейтинг: 0 / 0
09.07.2015, 11:45:05
    #39003230
MovieClip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
tanglir,

спасибо. Получил такой запрос
SELECT vk_id, SUM(count) AS points FROM `table` where type = 3 order by points desc limit 5

Но SUM(count) считает все значения count всех пользователей, а не только одного. Как поправить?
...
Рейтинг: 0 / 0
09.07.2015, 11:47:54
    #39003234
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
...я даже не знаю, что тут сказать, честно
разве что - если набрать (хоть в гугле, хоть в яндексе) "mysql sum", то сразу же появится подсказка "mysql sum group by"
но вам, видимо, тяжело даже несчастные 8 буковок набрать...
...
Рейтинг: 0 / 0
09.07.2015, 11:50:20
    #39003237
MovieClip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
А так будет правильно?

SELECT vk_id, SUM(count) AS points FROM `historyUpdates` where vk_id AND type = 3 GROUP BY vk_id order by points desc limit 5
...
Рейтинг: 0 / 0
09.07.2015, 12:03:12
    #39003252
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
MovieClipwhere >>>vk_id<<< AND type = 3тут, похоже, что-то пропущено, а в остальном правильно
...
Рейтинг: 0 / 0
09.07.2015, 12:11:38
    #39003260
MovieClip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сосчитать числа в полях при определенных условиях.
Да, спасибо, заметил. Просто смотрел сколько у определенного пользователя и убрал кусок не до конца.
А с group by долго тупил просто. Только потом дошло. Спасибо большое.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сосчитать числа в полях при определенных условиях. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]