我无法通过计算结果计算出如何订购结果。我想做的是按产品出现次数排序结果:
数据:
userID | product
1 | 3
1 | 4
1 | 5
2 | 3
2 | 5
预期结果:
product
3
5
4
结果还需要排除当前产品,所以我通过使用子查询解决了这个问题:
SELECT Product,userID FROM ProductTable WHERE userID IN(SELECT userID FROM productViewed WHERE Product="4817") AND Product<>"4817"
我尝试使用Group By和Order by计数(产品),但这似乎不起作用。
这是实现这一目标的正确方法吗?
谢谢,
瑞克
答案 0 :(得分:1)
检查此SQL小提琴以获取答案
查询:
select product from ProductTable
group by product order by count(userId) desc;
在此查询中,添加子查询以根据要求排除产品。
希望这会有所帮助:)
答案 1 :(得分:0)
尝试以下:
SELECT
product FROM
(SELECT
product,COUNT(userid) AS cnt
FROM producttable
GROUP BY product) as a
WHERE product<>'excluding product'
ORDER BY cnt DESC;