如何比较同一列的值和returntrue/false?
How to compare values of the same column and return true/false?
我正在尝试构建一个查询来比较特定列的最后两个值,如果数字上升则 return 为真,如果数字下降则为假。
如何使用 MS SQL 实现该目标?
数据是这样的
门票:
71
72
73
74
75
假设我想获取最新的两个并比较它们,然后 return 一个布尔值。可以实现吗?
一种方法是单独获取每一个并进行比较:
select (case when last_but_one.ticket < last_one.ticket then 'less than'
when last_but_one.ticket = last_one.ticket then 'equal'
when last_but_one.ticket > last_one.ticket then 'greater than'
end)
from (select t.*
from t
order by ord desc
offset 0 row fetch first 1 row only
) last_one cross join
(select t.*
from t
order by ord desc
offset 1 row fetch first 1 row only
) last_but_one;
Here 是一个 db<>fiddle.
我正在尝试构建一个查询来比较特定列的最后两个值,如果数字上升则 return 为真,如果数字下降则为假。
如何使用 MS SQL 实现该目标?
数据是这样的
门票:
71
72
73
74
75
假设我想获取最新的两个并比较它们,然后 return 一个布尔值。可以实现吗?
一种方法是单独获取每一个并进行比较:
select (case when last_but_one.ticket < last_one.ticket then 'less than'
when last_but_one.ticket = last_one.ticket then 'equal'
when last_but_one.ticket > last_one.ticket then 'greater than'
end)
from (select t.*
from t
order by ord desc
offset 0 row fetch first 1 row only
) last_one cross join
(select t.*
from t
order by ord desc
offset 1 row fetch first 1 row only
) last_but_one;
Here 是一个 db<>fiddle.