如何在时间戳中获得min-max

liwlm1x9  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(446)

我有表数据,需要得到一个结果集,其中包含id的max(timestamp)行
我不知道如何获取每个id和between参数的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 谁能成为我的英雄?:)谢谢你

j2datikz

j2datikz1#

您也在聚合列上执行分组。请尝试以下代码:

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;

相关问题