Рейтинг базы данных записей в MYSQL - PullRequest
0 голосов
/ 24 января 2011

Я пытаюсь ранжировать записи в моей базе данных, исходя из того, сколько раз пользователь сохранил этот термин.

Так что если моя таблица равна,

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 Ответ

3 голосов
/ 24 января 2011
SELECT laptop FROM table
  GROUP BY laptop
  ORDER BY COUNT(laptop) DESC

Почему это не сработает?

...