我是PHP和SQL的新手。我试图计算产品被喜欢的次数和特定用户喜欢的所有产品。但是无法获得理想的结果。
我有3张桌子。
产品表: pro_id pro_info pro_price
用户表: id用户名密码
和 pro_likes表: id用户产品
在pro_likes表"用户"和"产品"列是分别引用用户(id)和产品(pro_id)的外键。如何知道特定产品被喜欢的次数以及特定用户喜欢的产品?
我尝试了以下方法来查找前者,但它会返回所有产品的计数,而不是单个产品。
buildToolsVersion
有人可以帮忙吗?
答案 0 :(得分:0)
您需要按pro_likes.product
对查询进行分组答案 1 :(得分:0)
如果您要获得唯一的行,您还需要获取产品名称,否则您所做的只是计算连接的数量。
SELECT
COUNT(pro_likes.product) AS likes, pro_likes.product as product
FROM pro_likes
LEFT JOINT products
ON pro_likes.product = products.pro_id
GROUP BY pro_likes.product;
答案 2 :(得分:0)
SELECT DISTINCT
COUNT([pro_likes.prodcuts]) AS likes,
pro_likes.product AS product
FROM pro_likes
LEFT JOIN products
ON pro_likes.product = products.pro_id
GROUP BY pro_likes.product
答案 3 :(得分:0)
谢谢大家的帮助。 我能够通过以下代码完成此任务:
从pro_likes.product = products.pro_id上的pro_likes加入产品中选择计数(pro_likes.product),其中pro_likes.product =' $ pro_id'"
其中$ pro_id是从上一页通过URL传递的products.pro_id。