比较SQL中以前的值和当前值

比较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

我有一个带有以下输入的表,需要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    
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逻辑是什么