我有一张桌子
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页面上时,我想说:这是第二个最受欢迎的产品
任何帮助都会非常感谢!
答案 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