Я храню оценки для позиции в таблице, которая называется ratings
.Подсчитайте количество строк с определенными значениями
value
- целое число от 0 до 7 (номинальное значение).
В качестве примера, предположим, что showcase_id = 1
имеет 10 Всего оценок:
- 5 оценок являются значение = 7
- 2 рейтинги значение = 6
- 2 рейтинги значение = 5
- 1 номинал = 4
- нет оценок для значений 0,1,2,3
Есть ли эффективный способ, я могу выбрать общее количество оценок для каждого конкретного значения, общее количество оценок и средний рейтинг от одного запроса?
например. число строк/счет WHERE value = 6
равно 2. Нужно ли мне делать 7 отдельных подзапросов?
SELECT AVG(value),COUNT(*),????
FROM ratings
WHERE showcase_id = :showcase_id
Это считается, сколько значений различны, но мне нужно, чтобы подсчитать, сколько оценок были даны для каждого конкретного значения – frosty
Ваша правка, дает ошибку 'У вас ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с значениями FROM (значение SELECT, COUNT (*) as cnt, COUNT (значение DISTINCT) FROM r 'в строке 3' – frosty
@frosty. Ооо, я оставил в подзапросе 'COUNT (DISTINCT)'. –