Задать вопрос

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

Всем привет.

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

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


Заранее благодарен c:
  • Вопрос задан
  • 1141 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 3
@nozzy
Symfony, Laravel, SQL, Python, Telegram
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. Чтоб объединить запросы их можно сделать например вложенными.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽