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

发布于 2024-10-14 08:25:16 字数 460 浏览 4 评论 0原文

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

因此,如果我的表是,

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'

感谢您的帮助。

I'm trying to rank the entries in my database, based on the number of times a user saves that term.

So if my table is ,

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

The query will return

1.) MBP
2.) Macbook

I foolishly thought ranking GROUP_BY and DESC would do this, then I tried the @Rank := @Rank +1 approach to no avail. [I must admit, i'm not sure if this is the right way to solve the problem]

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

Thanks for any assistance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云裳 2024-10-21 08:25:16
SELECT laptop FROM table
  GROUP BY laptop
  ORDER BY COUNT(laptop) DESC

为什么这行不通?

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

Why won't that work?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文