gpt4 book ai didi

mysql - 获取排序中特定项目的订单 ID

转载 作者:行者123 更新时间:2023-12-01 00:54:25 26 4
gpt4 key购买 nike

假设我们有一个表格,其中包含按此特定顺序引入的休闲值:10、11、7、5、17、147、555。

如果我试图找出 11 所在的位置,如果我按升序排列表格,我会看到索引是 4。

然而,对于大量数据,我不想获取整个表格并在 php 中对其进行排序,因为这很愚蠢。

我想知道的是mysql是否可以在不查询所有值的情况下返回有序查询中值的索引。

谢谢!

更新#1

我想要的查询看起来像这样(感谢 bluefeet):

SELECT rownum FROM (
SELECT col1, @rownum:=@rownum+1 AS rownum
FROM yourtable,
(SELECT @rownum:=0) table1
ORDER BY col1) table2
WHERE col1=11

你可以在这里测试http://sqlfiddle.com/#!2/a21c8/12

最佳答案

MySQL 本身没有rownum 但您可以通过以下方式模拟它:

SELECT col1, @rownum:=@rownum+1 AS rownum
FROM yourtable,
(SELECT @rownum:=0) r
ORDER BY col1

参见SQL Fiddle with Demo

使用它您可以确定rownumber,这可能会满足您的需求。

如果您随后想要一个特定的 rownumber,您可以将其包装在一个子查询中:

select *
from
(
SELECT col1, @rownum:=@rownum+1 AS rownum
FROM yourtable,
(SELECT @rownum:=0) r
ORDER BY col1
) x
where rownum = 6

参见SQL Fiddle with demo

关于mysql - 获取排序中特定项目的订单 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com