【问题标题】:Group by date but not include time - Oracle SQl按日期分组但不包括时间 - Oracle SQl
【发布时间】:2022-01-06 18:21:36
【问题描述】:

我正在尝试使用 listagg 按日期对类别进行分组,但该字段是日期时间。类别出现在不同的行上。是否可以仅按日期分组?我已经在 group by 中尝试了 CAST 和 DATE,但它仍然无法正常工作。这是基本查询:

select ACCOUNT,
       ID,
       NAME,
       TERM,
       listagg(CATEGORY, ', ') within group (order by CATEGORY) as cat_by_date,
       trunc(TRANSACTION_DATE) short_date   

  from TABLE
 where term= '2022'
       and CATEGORY in ('T', 'H', 'P')

 group by
       ACCOUNT_UID,
       ID,
       NAME,
       TERM,
       TRANSACTION_DATE
       
 order by 1

【问题讨论】:

    标签: sql oracle datetime grouping


    【解决方案1】:

    在 GROUP BY 中也有 TRUNC

    ...
     group by
           ACCOUNT_UID,
           ID,
           NAME,
           TERM,
           TRUNC(TRANSACTION_DATE)
    

    【讨论】:

    • 谢谢!我知道我遗漏了一些明显的东西。
    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 2022-06-29
    • 2011-02-06
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    相关资源
    最近更新 更多