比较SQL中以前的值和当前值
我有一个带有以下输入的表,需要SQL命令来获取在查询中内部添加了标志值的输出 表A 输入:比较SQL中以前的值和当前值,sql,Sql,我有一个带有以下输入的表,需要SQL命令来获取在查询中内部添加了标志值的输出 表A 输入: Col1 Col2 Col3 123 20 100 123 20 101 121 10 105 121 11 105 120 25 110 120 25 111 124 21 101 124 21 102 123 10 100
Col1 Col2 Col3
123 20 100
123 20 101
121 10 105
121 11 105
120 25 110
120 25 111
124 21 101
124 21 102
123 10 100
123 10 101
124 11 101
124 11 102
125 30 103
125 12 103
预期产出:
Col1 Col2 Col3 Flag
120 25 110 N
120 25 111 N
121 10 105 N
121 20 100 N
123 20 101 Y
123 10 100 Y
123 10 101 Y
124 21 101 Y
124 21 102 Y
124 11 101 Y
124 11 102 Y
125 30 103 N
125 12 103 N
使用时的用例。因为我没有找到任何标志的逻辑,所以我猜col3>102将为N,其余为Y
select Col1,
Col2,Col3,
case when Col3>102 then 'N' else 'Y' end as flag from yortable
(1) 用您正在使用的数据库标记您的问题。(2) 请解释用于标记的逻辑。到目前为止您尝试了什么?您如何确定当前值和以前的值,因为我们在您的表中没有看到唯一的键。您使用的是增量键还是上面未包含的datetime字段?您想在什么基础上添加该标志?抱歉,我没有解释逻辑。如果col1和col2 PREVICE和current值都相同,并且PREVICE和current值不相同,则将其标记为Y。如果不是Nyour dbmsplease@Chakkara你的数据库名是12421101&12421flaged Y,但1202512025 flaged by N逻辑是什么