sql - 日期时间字段的 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 列中的计数,没有日期字段,我的输出就像我想要的那样 - 但我需要日期。
解决方案
然后从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
推荐阅读
- c++ - Deitel 和 Deitel 所说的“不应将具有副作用的表达式传递给宏”是什么意思?
- javascript - 从html代码中按下按钮时执行javascript?
- javascript - 由于音频播放器 - JS,网站性能太低了
- sql - 使用 PL/SQL 中的函数查找给定 empid 的奖励
- ios - 未找到模块“apple_sign_in”
- feathersjs - FeathersJS 在钩子之前获取记录或在钩子之后保存记录
- php - 如何仅使用 FOR 循环在 PHP 中获取复选框值
- node.js - 如何将 req.user 从 express-validator 传递到下一个中间件
- django - 如何使用 Django 和 OAuth 2 从我的 G-Suite 帐户发送电子邮件?
- swift - 如何从 Walk Run Stride 蓝牙传感器的特征数据中识别值