gpt4 book ai didi

Sqlite 查询 - 我如何选择前任?

转载 作者:行者123 更新时间:2023-12-03 18:47:40 25 4
gpt4 key购买 nike

我在下面有这张表:

ID    name    Last
0 Joe Doe
1 Hut Nob
2 Lis Hug
3 Edy mur

我使用这个查询来选择一个 ID:
SELECT name FROM myDatabase WHERE ID = 2

在这种情况下,查询返回字符串 ,现在,我如何选择前任值?

很简单,2的前身是1,所以我只需要做 WHERE ID < 2WHERE ID = 2 - 1 .

但是这个方法有问题!假设我删除了该行 (ID = 1),查询将返回 ,因为该 ID 不存在。

那么,在这个例子中,我如何从 ID 2 中选择前任并返回 ID 0? (ID 1 不见了)

最佳答案

您可以使用子查询来查找最大值 ID低于 ID您提供的:

SELECT *
FROM mytable m
WHERE m.id = (SELECT MAX(m2.id)
FROM mytable m2
WHERE m2.ID < 2);

SqlFiddleDemo

关于Sqlite 查询 - 我如何选择前任?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34372659/

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