我有表数据,需要获取一个包含ID的max(timestamp)行的结果集。参数之间的时间戳 数据示例如下:example data
我不知道如何为每个id和参数之间的max(timestamp)获取一行。
select id,
tgl,
max(case when tgl::timestamp between '2018-08-01 06:00'::timestamp and '2018-08-02 06:00'::timestamp
then tgl::timestamp else null end) clock
from tb_raw_pola_internal
where id = '0023817'
group by 1, 2
order by 1,2 asc
limit 1
结果是:
我的结果集应该在2018-08-02 02:05:00
内计时
谁能成为我的英雄? :)谢谢
答案 0 :(得分:0)
您也在汇总列上进行分组。尝试以下代码:
select id,
tgl,
max(case when tgl::timestamp between '2018-08-01 06:00'::timestamp
and '2018-08-02 06:00'::timestamp
then tgl::timestamp else null end) clock
from tb_raw_pola_internal
where id = '0023817'
group by 1;