有没有办法可以获得profile_id
的最大值,而不是在where子句中写出最后一条记录36006。
SELECT profile_id, pe_in_flag, pe_out_flag, ce_in_flag, ce_out_flag, profile_ind
from COS_PROFILE
WHERE profile_id >= 1 AND profile_id <= 36006;
我尝试过此查询但无法正常工作
SELECT profile_id, pe_in_flag, pe_out_flag, ce_in_flag, ce_out_flag, profile_ind
from COS_PROFILE
WHERE profile_id <= max(profile_id);
答案 0 :(得分:1)
根据您在示例中构建查询的方式,没有理由检查最大值。它将自动成为表中返回的集合的隐含限制,其中max在其自身内的代理键上。如果您想要加入另一个表并使用&#34的最大值,那么&#34;用于限制从&#34;这个&#34;返回的集合的表表,然后你可以测试&#34;那&#34;最大可以解决问题。
按原样, - 假设profile_id的索引从1开始,解决此问题的最简单方法就是完全删除过滤器。
SELECT profile_id, pe_in_flag, pe_out_flag, ce_in_flag, ce_out_flag, profile_ind
from COS_PROFILE
如果你想在这里引入明确的限制
SELECT profile_id, pe_in_flag, pe_out_flag, ce_in_flag, ce_out_flag, profile_ind
from COS_PROFILE
where profile_id >=1 AND profile_id <= (select max(profile_id) from COS_PROFILE)
但过滤器毫无意义。