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

whereおよびoffset fetch句を使用したSimple SelectがOracleで機能しない

    OFFSET 1 ROWS FETCH NEXT 10 ROWS ONLY Oracle 12c から利用できます。

    代わりに、クエリを実行してデータを並べ替える必要があります。次に、順序付けされた行の行番号を生成します。そして最後にそれらの行番号でフィルタリングします。これらの手順は、ネストされたサブクエリで正しい順序で実行する必要があります:

    SELECT *
    FROM   (
      SELECT t.*,
             ROWNUM AS rn
      FROM   (
        SELECT up.NAME AS upozilaName_bn,
               up.id AS upozila,
               dis.NAME AS districtName_bn,
               dis.id AS district,
               dv.NAME AS divisionName_bn,
               dv.id AS division,
               w.COUNTER_TYPE,
               w.COUNTER_ID,
               w.STATUS
        FROM X w
        left join  Y up ON w.UPOZILA = up.ID
        left JOIN  Z dis ON w.DISTRICT = dis.id
        left join  P dv ON w.DIVISION = dv.ID
        order by upozilaName_bn asc
      ) T
    )
    WHERE  rn BETWEEN 2 AND 11;
    



    1. Oracle Select *は行を返しますが、Select count(1)は0を返します

    2. mysqlを介してワードプレスのすべてのカテゴリのすべての投稿を取得するにはどうすればよいですか?

    3. MYSQL-結合によるクエリの削除

    4. sp_executeが何をしているのかを見る