如何每天只获取一个SQL查询?
我有一个电话通讯数据库,每30秒到100万次发送一次他们的位置,我需要得到他们位置历史的汇总。因为我每30秒就有一次他们的交流,仅仅3天我就有500多个结果。我如何查询以每天仅获得一个小时的结果如何每天只获取一个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
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
子句进行筛选。