powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт количества голосов для большого числа участников одним-двумя запросами
6 сообщений из 6, страница 1 из 1
Подсчёт количества голосов для большого числа участников одним-двумя запросами
    #38409202
Sanya Volkinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Прошу прощения за недостаток знаний SQL, но нет идей как это можно реализовать даже абстрактно.

Есть таблица, содержащая user_id и action_id, где user_id - идентификатор участника, а action_id - идентификатор акции.

Количество голосов за одного участника подсчитывается как COUNT всех строк, в которых присутствует необходимый user_id и action_id.

Проблема в том, что необходимо подсчитывать количество голосов за большое количество участников, сотню и более. Можно ли это сделать максимально быстро и, желательно, одним-двумя запросами?
...
Рейтинг: 0 / 0
Подсчёт количества голосов для большого числа участников одним-двумя запросами
    #38409205
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanya Volkinov, rtfm "where","group by","count"...
...
Рейтинг: 0 / 0
Подсчёт количества голосов для большого числа участников одним-двумя запросами
    #38409212
Sanya Volkinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, что-то я туплю уже. Пора себе выходной устроить.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT user_id, COUNT(*)
FROM vote
WHERE (
user_id = 1
OR user_id = 2
OR user_id = 3
)
AND action_id = 2
GROUP BY user_id
...
Рейтинг: 0 / 0
Подсчёт количества голосов для большого числа участников одним-двумя запросами
    #38409265
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
WHERE (
user_id = 1
OR user_id = 2
OR user_id = 3
)

лучше заменить на
Код: sql
1.
2.
3.
WHERE (
user_id IN (1, 2, 3)
)


Ну и сотня - это не большое и даже не среднее количество...
...
Рейтинг: 0 / 0
Подсчёт количества голосов для большого числа участников одним-двумя запросами
    #38409301
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может быть, не совсем это надо? А вот так?
Код: sql
1.
2.
3.
4.
5.
6.
SELECT user_id, COUNT(*) voices
FROM vote
WHERE action_id = 2
GROUP BY user_id
ORDER BY count(*) desc
LIMIT 3;
...
Рейтинг: 0 / 0
Подсчёт количества голосов для большого числа участников одним-двумя запросами
    #38409421
Sanya Volkinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cygapb-007, Akina спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт количества голосов для большого числа участников одним-двумя запросами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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