= x . 如果x不在表格里,我要所有的数字> x和最大的数字 12 UNION -6ren">
gpt4 book ai didi

sql - 选择比给定数字 "larger"的数字

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

我在 PostgreSQL 中有一个包含一个数字列的表,我有一个给定的数字 x .

如果x在表格中,我想要所有数字 >= x .

如果x不在表格里,我要所有的数字> x和最大的数字< x .

例子:

id 
5
10
15
20

对于 x = 15它应该返回 1520 .

对于 x = 12它应该返回 10 , 1520 .

我尝试了以下方法:

SELECT id FROM table_name WHERE id > 12
UNION
SELECT MAX(id) FROM table_name WHERE id <= 12

哪个工作正常。

有没有单查询的方式?谢谢。

(这只是单列和数字的例子,实际情况是更大的表和日期时间列,但原理应该是一样的。)

最佳答案

从我的评论转换:

SELECT id 
FROM table_name
WHERE id >= (SELECT MAX(id)
FROM table_name
WHERE id <= 12)

关于sql - 选择比给定数字 "larger"的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11541286/

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