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

Всем привет.

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

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


Заранее благодарен c:
  • Вопрос задан
  • 1111 просмотров
Решения вопроса 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. Чтоб объединить запросы их можно сделать например вложенными.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект