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

Oracleがデータを分割し、10%ごとにレコードを取得する方法

    1つのオプションは

    です
    SELECT id,
           h,
           n,
           q
      FROM (
        SELECT id, 
               h, 
               n, 
               q,
               row_number() over (partition by decile order by id, n) rn
          FROM (
            SELECT id, 
                   h, 
                   n, 
                   q,
                   ntile(10) over (order by id, n) decile
              FROM your_table
                )
            )
       WHERE rn = 1
    

    PERCENTILE_DISCを使用したより効率的なアプローチがおそらくあります またはCUME_DIST 現時点ではクリックしていません。しかし、これはうまくいくはずです。



    1. pg-v0.17.1のインストール

    2. CSVからmySQLデータベースにデータをロードするJava+hibernate + spring

    3. Cakephpに複数のテーブルを保存することはできません

    4. Transact-SQLを使用してストアドプロシージャの定義を取得する4つの方法