我有一个存储十进制数的表列,例如:
number status paid_how
1.54 completed paypal
1.54 not paid paypal
1.53 not paid paypal
1.51 not paid paypal
对于不等于“已完成”的所有状态,数字列必须保持唯一。因此,如果尝试插入另一个状态为“未付款”的1.54的数字,我需要将数字向下更改为唯一值。在上面的例子中,它不能插入1.54,1.53但应该接受1.52。
我一直在试着找出一个可以确定下一个最低数字的选择查询,同时状态!=“已完成”。
答案 0 :(得分:0)
select min(my_number)
from my_table
where status != 'completed'
如果你想要下一个你应该使用的号码 - 那么就像:
select min(my_number)-.01
into my_next_number
from my_table
where status != 'completed'