mysql中的项目流行度

时间:2013-09-14 10:45:26

标签: mysql

我有一张桌子

ItemId Items views
1 - item1 - 4
2 - item2 - 3
3 - item3 - 3

我会活着知道产品的普及程度

结果应该是

item 1: first place
item 2: second place
item 3: second place

我很难搞清楚如何在mysql中执行此操作。有没有一个查询,这将是这个?特别是当用户在item3页面上时,我想说:这是第二个最受欢迎的产品

任何帮助都会非常感谢!

1 个答案:

答案 0 :(得分:2)

这可以使用相关子查询来完成。

SELECT Items,
       (SELECT  COUNT(DISTINCT b.views) 
        FROM    tableName b
        WHERE   a.views <= b.views
       ) as rank
FROM    tableName a
ORDER   BY Views DESC