0

テーブル ログが 1 つあります。

checktype
---------
    I
    O
    I
    o
    I
    I
    I
    o
    I
    O

ここで、IOをペアにする必要があるため、余分なIを削除します。つまり、1 つだけ(I または O) が必要です。テーブルには、 IOのみをペアで含める必要があります。

4

2 に答える 2

2

この結果は、次のクエリで簡単に取得できます。

Select checktype,((ROW_NUMBER() OVER (ORDER BY checktype))*2 - 1) as Row_id From Table
Where checktype = 'I' 
UNION
Select checktype,((ROW_NUMBER() OVER (ORDER BY checktype))*2 ) as Row_id From Table
Where checktype = 'O' 
Order by Row_id

私はそれをテストしました、そしてそれは私のために働いています

于 2013-09-03T10:59:12.153 に答える
0

これを試して:

ResultSet rs = stmt.executeQuery("SELECT checkType FROM myTable");
while(rs.next( )){
   if (rs.getString("checkType").equals('I'){
       if(rs.next(){
          if(rs.getString("checkType").equals('O'){
          }else{
           //delete logic  
          }           
       }
   } else if(rs.getString("checkType").equals('O'){
       if(rs.next(){
          if(rs.getString("checkType").equals('I'){
          }else{
           //delete logic  
          }           
       }
   }
}
于 2013-09-03T10:36:13.130 に答える