Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Здравствуйте нужна ваша помощь)

Stranger Профи (914), на голосовании 3 года назад
Нужно построить SQL запрос.

Есть такой sql запрос.

SELECT DISTINCT product.id,product.name,product.alias,product.price,product.old_price,product.image, comment_product.product_id, comment_product.rating
FROM product, comment_product
WHERE product.id = comment_product.product_id AND `visibility` = '1'

Он работает но нужно добиться такого результата чтобы выбирались все записи. С уникальными полем по comment_product.product_id, и с самым большим значением в поле comment_product.rating. Как это сделать?

https://yadi.sk/i/8zH2qdMi4qHziA
Дополнен 3 года назад
Не получается написать sql запрос на подсчет комментов

SELECT
comment_product.product_id,
MAX(comment_product.rating) AS `rating`,
count(comment_product.rating) AS count_comment
FROM product,comment_product
WHERE product.id = comment_product.product_id

Он скидывает все общий результат догадываюсь что нужно снова строить выборку в выборке Но вопрос как? Есть желающие помочь?

https://yadi.sk/i/Z-J786_7325LDQ Вот что получается.
Голосование за лучший ответ
Ламзин Андрей Просветленный (36189) 3 года назад
Примерно так:

SELECT
product.id,
product.name,
product.alias,
product.price,
product.old_price,
product.image,
MAX(comment_product.rating)
FROM product
LEFT JOIN comment_product ON
comment_product.product_id = product.id

WHERE product.`visibility` = '1'
GROUP BY product.id

Группируешь по product.id и выбираешь максимальный рейтинг.
StrangerПрофи (914) 3 года назад
На выходе получается https://yadi.sk/i/dwBci0mARv9ueQ Но немного не то что нужно. Но все равно спасибо!
Ламзин Андрей Просветленный (36189) Stranger, LEFT на INNER замени
StrangerПрофи (914) 3 года назад
Да все так как, и хотел. Спасибо! Тепер нужно переписывать widget product. Пока понятие не имею как)
Ламзин Андрей Просветленный (36189) Stranger, всё будет ок )
Похожие вопросы