Sai lầm trong lần thử đầu tiên của bạn là bạn không thể kết hợp hàm tổng hợp count(*)
với chưa tổng hợp lựa chọn hàng. Bạn có thể sửa lỗi này bằng cách sử dụng count()
thay vào đó là hàm tổng hợp cửa sổ:
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;
Giải thích chi tiết tại đây:
@Alexander có một bản sửa lỗi cho lần thử cuối cùng của bạn.