【发布时间】:2009-12-15 06:53:57
【问题描述】:
我正在触发一个查询,该查询返回至少 1000 行,其中包含名称、数量以及订单数量 desc。我想要该数组中某个名称的索引,我不知道该怎么做?
当我使用 Ruby 时,我使用 arr.index(name)+1 正确返回索引的方法。 但我想要一些 MySQL 查询,它只给我那个特定名称的数字。
【问题讨论】:
我正在触发一个查询,该查询返回至少 1000 行,其中包含名称、数量以及订单数量 desc。我想要该数组中某个名称的索引,我不知道该怎么做?
当我使用 Ruby 时,我使用 arr.index(name)+1 正确返回索引的方法。 但我想要一些 MySQL 查询,它只给我那个特定名称的数字。
【问题讨论】:
MySQL 中没有排名功能。最接近的方法是使用变量:
SELECT t.*,
@rownum := @rownum + 1 AS rank
FROM TABLE t, (SELECT @rownum := 0) r
这将为您的输出添加一个名为 rank 的列,该列将是唯一的、递增的并从 1 开始。
【讨论】: