Sql Oracle:从列中选择多个值,同时满足某些值的条件
我在一个表中有一列COL,它的整数值如下:1,2,3,10,11。。。还有儿子。表中的唯一性由一个ID创建。每个ID可以与多个列值关联。比如说Sql Oracle:从列中选择多个值,同时满足某些值的条件,sql,oracle,Sql,Oracle,我在一个表中有一列COL,它的整数值如下:1,2,3,10,11。。。还有儿子。表中的唯一性由一个ID创建。每个ID可以与多个列值关联。比如说 ID | COL —————————— 1 | 2 ————+————— 1 | 3 ————+————— 1 | 10 ————+————— 这是有效的 我想做的是只从表中选择大于3的COL值,有问题的部分还选择最大值1、2和3(如果它们存在的话)。所以在上表中,我想选择值[3,10],因为10大于3,3=MAX3,
ID | COL
——————————
1 | 2
————+—————
1 | 3
————+—————
1 | 10
————+—————
这是有效的
我想做的是只从表中选择大于3的COL值,有问题的部分还选择最大值1、2和3(如果它们存在的话)。所以在上表中,我想选择值[3,10],因为10大于3,3=MAX3,2
我知道我可以用两条SQL语句来实现这一点,但这有点混乱。有没有办法只用一句话就能做到
SELECT col FROM table
WHERE
col > 3
UNION
SELECT MAX(col) FROM table
WHERE
col <= 3
此查询并不假定您需要每个id的结果,因为您没有明确提到它。
我认为您不需要pl/sql,sql就足够了