sql >> データベース >  >> RDS >> Oracle

n番目の行をn+1番目の行と比較し、それがn番目の行の範囲内にある場合はn+1行を出力しますUSNGORACLEQUERY

    LAGを使用したソリューションは次のとおりです 関数またはOracle。前の行にアクセスできます。

    また、行6にはend_noがあるため、要件に従って、テーブルから行2と5のみを取得する必要があります。 end_no以上の224として 223であるrow5の

    SELECT id, name, start_no, end_no 
    FROM (
        SELECT id, name, start_no, end_no, 
               lag(start_no, 1, 0) over (order by id) prev_start_no ,
               lag(end_no, 1, 0) over (order by id) prev_end_no
        FROM test
    ) 
    WHERE start_no BETWEEN prev_start_no AND prev_end_no
    AND end_no BETWEEN prev_start_no AND prev_end_no;
    


    1. PHPを使用してSQLストアドプロシージャから戻り値を取得する

    2. mysqlで列を選択するためにIfelse条件を使用しますか?

    3. アーカイブループで年を1回だけ表示する

    4. 使用後にDbCommandを破棄する必要がありますか?