在MYSQL中对数据库条目进行排名

时间:2011-01-24 01:57:22

标签: php mysql rank

我正在尝试根据用户保存该字词的次数对数据库中的条目进行排名。

所以,如果我的表是,

id laptop  Price
1  Macbook $2000
2  MBP     $2300
3  MBP     $2300
4  MBP     $2000

查询将返回

1.) MBP
2.) Macbook

我愚蠢地认为排名GROUP_BY和DESC会这样做,然后我尝试了@Rank:= @Rank +1方法无济于事。 [我必须承认,我不确定这是否是解决问题的正确方法]

SET @rank :=0;
SELECT * FROM (
  SELECT d.*, @rank := @rank + 1
  FROM data d
  ORDER BY d.`laptop`
) d2
WHERE d2.laptop = 'MBP'

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

SELECT laptop FROM table
  GROUP BY laptop
  ORDER BY COUNT(laptop) DESC

为什么不起作用?