У меня есть таблица MYSQL, где я хочу получить среднюю оценку с подсчетом идентификатора продукта. Вот пример таблицы.
╔════╦═════════════╦══════════╦══════════╗
║ ID ║ product_Id ║ rating ║ status ║
╠════╬═════════════╬══════════╬══════════╣
║ 1 ║ 5 ║ 1 ║ 1 ║
║ 2 ║ 5 ║ 3 ║ 1 ║
║ 3 ║ 5 ║ 4 ║ 1 ║
║ 4 ║ 4 ║ 3 ║ 1 ║
║ 5 ║ 4 ║ 5 ║ 1 ║
║ 6 ║ 6 ║ 4 ║ 1 ║
║ 7 ║ 6 ║ 4 ║ 1 ║
╚════╩═════════════╩══════════╩══════════╝
Я работал над этим фрагментом кода, но не получил желаемого результата.
SELECT r.product_id, ROUND(AVG(r.rating),0) as avg_rating, COUNT(r.product_id) AS products_total FROM review r
WHERE r.status = 1
GROUP BY r.product_id ASC
, который дает мне результат как, средний рейтинг (количество оценок для того же продукта Id)
- 3 (3)
- 4 (2)
- 4 (2)
где я хочу, чтобы результаты печатались как средний рейтинг (количество идентификаторов продуктов с одинаковым рейтингом)
- 3 (1)
- 4 (2)
как мне достичь вышеуказанных результатов