给定一列或十进制数以及一个整数列表,编写一个SQL查询以返回小于列表中每个整数的最大小数.
decimal |
---|
0.21312 |
2.34353 |
23.4534 |
34.3423 |
1231.00 |
1231.15 |
3213.32 |
23123.5 |
integer_list = [2,50,2000]
个
因此,SQL查询应该返回如下所示的列:
decimal |
---|
0.21312 |
34.3423 |
1231.15 |
以下是我的try :
WITH get_2 AS (SELECT MAX(decimal) FROM table WHERE decimal < 2 ),
get_50 AS (SELECT MAX(decimal) FROM table WHERE decimal < 50 ),
get_2000 AS (SELECT MAX(decimal) FROM table WHEREdecimal < 2000),
SELECT * FROM get_2
UNION ALL
SELECT * FROM get_50
UNION ALL
SELECT * FROM get_2000
有没有更优雅的方式来做到这一点?
此外,假设我不知道整数列表的长度,我应该如何着手呢?