在查询返回的数组中查找某个名称的排名或索引

发布于 2024-08-14 12:34:43 字数 157 浏览 1 评论 0原文

我正在触发一个查询,该查询返回至少 1000 行,其中包含名称、金额(按金额降序排列)。我想要该数组中某个名称的索引,我不知道该怎么做?

当我使用 Ruby 时,我使用 arr.index(name)+1 方法正确返回索引。 但我想要一些 MySQL 查询,它只给出该特定名称的数字。

I am firing a query which returns minimum 1000 rows containing name, amount in order amount desc. I want the index of some name from that array, I don't know how to do it?

As I am using Ruby, I use arr.index(name)+1 method which returns the index properly.
But I want some MySQL query which gives me only numbers for that particular name.

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

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

发布评论

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

评论(1

-小熊_ 2024-08-21 12:34:43

MySQL 中没有排名功能。最接近的方法是使用变量:

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM TABLE t, (SELECT @rownum := 0) r

这将在输出中添加一个名为“rank”的列,该列将是唯一的、递增的、从 1 开始。

There is no ranking functionality in MySQL. The closest you can get is to use a variable:

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM TABLE t, (SELECT @rownum := 0) r

That will add a column called rank to your output, that will be unique, incrementing, and starts at 1.

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