计算产品被喜欢的次数以及特定用户在PHP和SQL中喜欢的所有产品

时间:2018-01-31 20:13:55

标签: php sql

我是PHP和SQL的新手。我试图计算产品被喜欢的次数和特定用户喜欢的所有产品。但是无法获得理想的结果。

我有3张桌子。

产品表: pro_id pro_info pro_price

用户表: id用户名密码

pro_likes表: id用户产品

在pro_likes表"用户"和"产品"列是分别引用用户(id)和产品(pro_id)的外键。如何知道特定产品被喜欢的次数以及特定用户喜欢的产品?

我尝试了以下方法来查找前者,但它会返回所有产品的计数,而不是单个产品。

buildToolsVersion

有人可以帮忙吗?

4 个答案:

答案 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。