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

行を均等にスキップして固定数の行を選択します

    最初の試みの間違いは、集計関数count(*)を混在させることができないことです。 非集計 行の選択。 count()を使用してこれを修正できます 代わりにウィンドウ集計関数として:

    SELECT * FROM (
       SELECT *, ((row_number() OVER (ORDER BY "time"))
                   % ceil(count(*) OVER () / 500.0)::int) AS rn
       FROM   data_raw
       ) sub
    WHERE sub.rn = 0;

    詳細な説明はこちら:

    @Alexander 最後の試みに対する修正があります。



    1. CodeIgniterSelectステートメントとWhere句

    2. bashから.sqlスクリプトを実行する方法

    3. 配列を使用して複数の行を更新する

    4. SQLAlchemy:結合で削除する方法