MySQL выборка, подсчитать количество?

Всем привет.

У пользователей есть отзывы, все они разной оценки от 1 до 5 (плохо и отлично соответственно).

Подскажите как экономично подсчитать их количество, нужно узнать сколько отзывов с оценкой 1, 2, и т.д. У выбранного пользователя.
Возможно это сделать одним запросом? И как?


Заранее благодарен c:
  • Вопрос задан
  • 1127 просмотров
Решения вопроса 3
@nozzy
Symfony, Laravel, SQL
select
user_id,
otziv_id,
SUM(CASE WHEN ocenka = 1 THEN 1 ELSE 0 END) ocenka_1,
SUM(CASE WHEN ocenka = 2 THEN 1 ELSE 0 END) ocenka_2,
SUM(CASE WHEN ocenka = 3 THEN 1 ELSE 0 END) ocenka_3,
....
from otziv_table
group by user_id, otziv_id
having user_id = #####
Ответ написан
Комментировать
@res2001
Developer, ex-admin
select
user_id,
ocenka,
count(otziv_id),
from otziv_table
group by user_id, ocenka
Ответ написан
Комментировать
GreatBOND
@GreatBOND
Начинающий программист
SELECT COUNT(*) FROM
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
Собственно функция count. Чтоб объединить запросы их можно сделать например вложенными.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы