首页 > 解决方案 > 日期时间字段的 TO_CHAR,按更改输出分组

问题描述

我有一个使用计数、大小写等的 sql 查询,但是当我添加要返回的日期字段时,我的计数发生了变化,我不希望我的输出是那样的。你能提出一个更好的方法来解决这个问题吗?

Select A, b, C, D, (CASE when tablename.FIeldname when T then (count(tableName.Fieldname) - 1) ELSE 0 END) as TEST_1, 
       To_char(dateTimefield, 'DD-MON-YYYY')
from table name
where <<>>
group by A, B, C, D, tableName.field Name, date field

这改变了我在第 5 列中的计数,没有日期字段,我的输出就像我想要的那样 - 但我需要日期。

标签: sqloracledatetimecount

解决方案


然后从group by. 而是使用聚合函数:

Select A, b, C, D, (CASE when tablename.FIeldname when T then (count(tableName.Fieldname) - 1) ELSE 0 END) as TEST_1, 
       To_char(min(dateTimefield), 'DD-MON-YYYY')
from table name
where <<>>
group by A, B, C, D, tableName.field Name

推荐阅读