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

条件が満たされるまで行を選択します

    サブクエリを使用して、どのポイントで停止する必要があるかを見つけてから、開始ポイントから計算された停止ポイントまでのすべての行を返します。

    SELECT
      *
    FROM
      yourTable
    WHERE
          id >= 4
      AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)
    

    これは、最後のレコードが常に「F」であることを前提としていることに注意してください。 COALESCEを使用して、最後のレコードが「T」であることに対処できます。 。

    SELECT
      *
    FROM
      yourTable
    WHERE
          id >= 4
      AND id <= COALESCE(
                  (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4),
                  (SELECT MAX(id) FROM yourTable                          )
                )
    



    1. JavaプログラムからMySQLにデータを保存する最も簡単な方法は何ですか?

    2. Oracleの列名をtable.column形式で返しますか?

    3. MySQLで列の照合を表示する方法

    4. 一致するレコードがない場合にNULLを含む2つの列のすべての組み合わせを取得するMySqlクエリ