如何使用 postgresql return 数据集中的每第 n 行来控制 Highcharts 数据系列

How to return every nth row from dataset using postgresql to control a Highcharts data series

我正在使用从 postgres 数据库收集的数据集为 Highcharts 生成数据系列 1 周,其中有日期时间点每 15 秒。我当前的sql语句returns一个包含40,320个数组([timestamp, int, string])的数组。我想将数据集中的元素数量减少到每 240 行 1 行。我想在 Highcharts 中有一种方法可以处理这个问题,但经过大量研究后我还没有找到它。

如何在 postgresql 中执行此操作?

目前,我的初始数据集是使用下面的 sql 语句收集的:

SELECT timestamp, interest, yield FROM abc.public.table WHERE symbol='XTC' AND timestamp BETWEEN '2021-06-04 14:51:27.5127' AND '2021-06-11 14:51:27.5127' ORDER BY timestamp;

使用 row_number() 在子查询(或 CTE)中枚举您的行,然后 WHERE (rownum%240)=0。使用 CTE 的示例:

with
original_query as (
SELECT timestamp, interest, yield FROM abc.public.table WHERE symbol='XTC' AND timestamp BETWEEN '2021-06-04 14:51:27.5127' AND '2021-06-11 14:51:27.5127' ORDER BY timestamp
),
numbered as (
select row_number() over () as rownum, oq from original_query oq
),
sampled as (
select (oq).* from numbered where (rownum%240)=0
)
select * from sampled;