gpt4 book ai didi

SQL:获取一个元素的行号的最有效方法

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:27 25 4
gpt4 key购买 nike

我有一张人员表:

id   | Name |  Age
1 | Alex | 18
2 | Peter| 30
3 | Zack | 25
4 | Bim | 30
5 | Ken | 20

我有以下行间隔:WHERE ID>1 AND ID<5 .我知道在这个区间里有一个id=3的人。在此间隔内获取其行号的最有效(最快)方法是什么(在我的示例中 rownumber=2)?我的意思是我不需要任何其他数据。我只需要一件事——知道 id=3 的人在 WHERE ID>1 AND ID<5 区间的行位置.

如果可能的话,我希望获得的不是特定于供应商的解决方案,而是通用的 sql 解决方案。如果不可能,那么我需要 postgresql 和 h2 的解决方案。

最佳答案

行号是间隔中第一行与您要查找的行之间的行数。对于区间 ID>1 AND ID<5和目标行 ID=3 ,这是:

select  count(*)
from YourTable
where id between 2 and 3

对于区间 ID>314 AND ID<1592和目标行 ID=1000 ,你会使用:

where   id between 315 and 1000

要确保有一个元素带有ID=3 ,使用:

select  count(*)
from YourTable
where id between 2 and
(
select id
from YourTable
where id = 3
)

这将返回 0如果该行不存在。

关于SQL:获取一个元素的行号的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31570157/

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