select count (a) from ( select a, b, case when a<3 and a+3>b then 1 else 0 end from tab ) a where case when ab then 1 else 0 end =1
这个是你第一个的写法 第二个自己变通一下吧 我就不写了
SELECT a, b, CASE WHEN a <= 3 THEN a + 3 ELSE 2 * a + 1 END c FROM tablelist;
外面在嵌套一层条件c>b,不知道满不满足需求