आपके पहले प्रयास में गलती यह है कि आप समग्र फ़ंक्शन को मिश्रित नहीं कर सकते 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 आपके अंतिम प्रयास के लिए एक समाधान है।