आप row_number()
. का उपयोग करके पंक्तियों की निश्चित संख्या एकत्र कर सकते हैं और अंकगणित:
select min(date),
(array_agg(bid order by seqnum asc))[1] as open,
(array_agg(bid order by seqnum desc))[1] as close,
min(bid) as min_bid, max(bid) as max_bid
from (select t.*, row_number() over (order by date) as seqnum
from ticks t
) t
group by floor((seqnum - 1) / 500);
यह open
. प्राप्त करने के लिए "हैक" का उपयोग करता है और close
-- सरणियों का उपयोग करके।