如何每天只获取一个SQL查询?

如何每天只获取一个SQL查询?,sql,postgresql,Sql,Postgresql,我有一个电话通讯数据库,每30秒到100万次发送一次他们的位置,我需要得到他们位置历史的汇总。因为我每30秒就有一次他们的交流,仅仅3天我就有500多个结果。我如何查询以每天仅获得一个小时的结果 SELECT id, version, to_char(datetime, 'DD/MM/YYYY hh24:mi:ss') as data_camera, imei, to_char(inserted_on, 'DD/MM/YYYY hh24:mm:ss') as data_sistem

我有一个电话通讯数据库,每30秒到100万次发送一次他们的位置,我需要得到他们位置历史的汇总。因为我每30秒就有一次他们的交流,仅仅3天我就有500多个结果。我如何查询以每天仅获得一个小时的结果

SELECT id, version, to_char(datetime, 'DD/MM/YYYY hh24:mi:ss') as data_camera,
       imei, to_char(inserted_on, 'DD/MM/YYYY hh24:mm:ss') as data_sistema,
       latitude, longitude, speed AS VELOCIDADE
FROM heartbeat
WHERE imei = '5303023004057831' AND datetime BETWEEN '2021-05-03' AND '2021-06-08'
ORDER BY datetime;

我想每天只得到一个结果,或者在短时间内得到结果,谢谢

如果您希望每天得到一个结果,请在上使用
DISTINCT。假设“天”基于
datetime

SELECT DISTINCT ON (datetime::date) id, version,
       to_char(datetime, 'DD/MM/YYYY hh24:mi:ss') as data_camera,
       imei, to_char(inserted_on, 'DD/MM/YYYY hh24:mm:ss') as data_sistema,
       latitude, longitude, speed AS VELOCIDADE
FROM heartbeat
WHERE imei = '5303023004057831' AND
      datetime BETWEEN '2021-05-03' AND '2021-06-08'
ORDER BY datetime::date;

这将每天返回一条任意记录。您可以通过使用第二个键调整
顺序来确定哪一个。

哪一天?您有多个日期/时间列。请共享更多详细信息,如表结构、示例输入数据、根据您的要求提供的预期输出数据,以及您在哪一天尝试解决问题?每天在帖子上写的数据范围之间!,预期输出也写在postNo上,问题不包含任何关于输出的具体数据!!有没有办法按小时过滤?不管怎样,它工作得很好,谢谢你@亚瑟。您可以添加一个
where
子句进行筛选。