1

我有一张桌子

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 页面时我想说:这是第二受欢迎的产品

任何帮助将不胜感激!

4

1 回答 1

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
于 2013-09-14T10:51:21.723 回答