在类别sql语句中检索最受欢迎的产品

时间:2014-07-03 15:15:10

标签: mysql sql

我正在尝试编写一个包含所有内容的SQL语句,以根据类别ID从我的商店中检索最受欢迎的项目。英语:对于categoryID,排序最多的商品

我已成功查询tblOrderContents并对结果进行分组+排名最受欢迎的结果:

SELECT productID, count(productID)
FROM tblOrderContents oc
GROUP BY productID 
ORDER BY count(productID) DESC

产生:

 ID                         COUNT
 16                          419
 12                          52
 34                          38
 33                          33

但我正在努力弄清楚如何仅针对特定类别检索此内容。我认为它需要一个左连接,但这不起作用:

SELECT productID from tblProdCat 
LEFT JOIN (SELECT STATEMENT DETAILED ABOVE)
WHERE categoryID = '7'

我希望这是有道理的。我一直在考虑这么久,我确定我错过了一些明显的东西。任何建议都会很棒。

由于

1 个答案:

答案 0 :(得分:2)

tblProdCat中的productID是?如果是这样,以下陈述应该有效:

SELECT productID, count(productID)
FROM tblOrderContents oc
INNER JOIN tblProdCat pc ON oc.ProductId = pc.ProductId AND pc.CategoryId = '7'
GROUP BY productID 
ORDER BY count(productID) DESC

说明:此内部联接仅返回符合条件(categoryID =' 7'以及匹配productId' s)的行。如果某行不满足此条件,则在任一表中都不会返回该行。