iRusel
@iRusel

Как отсортировать результаты по двум значениям?

Есть таблица:

ba161d599a214fd6a8fd6b1aced3be36.png

Мне необходимо получить значение p_id для u_id равному 1 и наибольшему количеству записей с c_id.
Т.е. как на скрине u_id = 1, p_id = 5, c_id = 3 (потому что имеет 2 записи).

UPD:
Таблица с голосами пользователей.
Голос пользователя заносится в таблицу:
u_id - id опроса
p_id - id пользователя (который проголосовал)
c_id - id ответа который он выбрал

Как видно на скрине есть 4 голоса для 1 (id) голосования.
Мне необходимо выбрать c_id наибольшим количеством голосов.

437d5e3ba31140b5b5bded1a10ab5317.png
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
iRusel
@iRusel Автор вопроса
Александр Никитин спасибо но это все равно не то что мне требовалось.

Решил пересмотреть структуру БД.
И сделал по принципу опросов из движка phpBB.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
aenikitin
@aenikitin
Инфраструктурный администратор
Сортировать результаты можно по столбцам таблицы
select u_id,p_id,c_id from you_table
order by u_id, p_id


UPD:
Вот таким запросом я получил id опроса, id ответа и количество выбравших его пользователей.
SELECT  u_id, c_id, COUNT(p_id) as 'count'
  FROM you_table
  GROUP BY p_id, c_id, u_id
  ORDER BY count desc
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы