最初の試みの間違いは、集計関数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 最後の試みに対する修正があります。