gpt4 book ai didi

mysql - 如何在MYSQL中选择一项,下一项和上一项

转载 作者:行者123 更新时间:2023-11-29 05:46:39 25 4
gpt4 key购买 nike

我有一个 ID 为非整数的数据库,如下所示:

b01
b02
b03
d01
d02
d03
d04
s01
s02
s03
s04
s05

等字母代表产品类型,数字代表该组中的下一个。

我希望能够选择一个 ID,例如 d01,然后返回 b03、d01、d02。我如何在 MYSQL 中执行此操作?

最佳答案

这是使用 UNION 的另一种方法。我认为这比接受的答案更容易理解并且更灵活。请注意,该示例假定 id 字段是唯一的,根据您的问题似乎是这种情况。

下面的 SQL 查询假定您的表名为 demo 并且有一个唯一的 id 字段,并且该表已填充您在问题中列出的值。

( SELECT id FROM demo WHERE STRCMP ( 'd01', id ) > 0 ORDER BY id DESC LIMIT 1 )
UNION ( SELECT id FROM demo WHERE id = 'd01' ORDER BY id ) UNION
( SELECT id FROM demo WHERE STRCMP ( 'd01', id ) < 0 ORDER BY id ASC LIMIT 1 )
ORDER BY id

它产生以下结果:b03, d01, d02

此解决方案非常灵活,因为您可以将每个 LIMIT 1 语句更改为 LIMIT N,其中 N 是任意数字。例如,这样您可以获得前 3 行和后 6 行。

关于mysql - 如何在MYSQL中选择一项,下一项和上一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/991198/

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