2010-11-20 82 views
1
ID 
------ 
    1 
    1 
    2 
    2 
    3 
    4 
    5 
    5 
    5 
    6 
    7 
    7 
    7 
    8 
    9 
    9 
    10 
    9 

我需要將第一行值與下一行值進行比較。如果他們在另一列中顯示y。將當前行值與下一行值進行比較

ID    flag 
------   ------- 
    1     y 
    1     n 
    2     y 
    2     n 
    3     n 
    4 
    5 
    5 
    5 
    6 
    7 
    7 
    7 
    8 
    9 
    9 
    10 
    9 

我想這個查詢在Oracle中運行。

回答

2

您可以使用分析功能(窗口功能):

select id, 
    case 
     when lead(id, 1, 0) over (order by id) = id then 'Y' 
     else 'N' 
    end 
    from your_ids_table; 

你可以用任何你需要更換order by條款。