按结果排序

时间:2014-04-28 10:00:55

标签: mysql

我无法通过计算结果计算出如何订购结果。我想做的是按产品出现次数排序结果:

数据:

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计数(产品),但这似乎不起作用。

这是实现这一目标的正确方法吗?

谢谢,

瑞克

2 个答案:

答案 0 :(得分:1)

检查此SQL小提琴以获取答案

Example

查询:

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;
相关问题