You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改SQL查询结果格式为带表头的指定样式?附SQL代码

问题解决:调整SQL实现按日期聚合并显示清晰表头

你的原SQL问题出在GROUP BY子句使用了原始的LOG_DTM时间戳,而SELECT中是格式化后的日期字符串,这会导致同一日期下不同时间的记录被单独分组,结果分散且不符合你要的按日期汇总的表头格式。

修改后的SQL代码

SELECT TO_CHAR(LOG_DTM, 'yyyy-mm-dd') RECORD_DATE,
       HOST_NAME PROCESS_HOST, 
       USER_CD OS_USER, 
       SEARCH_VARCHAR_1 PCM_USER, 
       OPERATION_CD, 
       SEARCH_VARCHAR_2 ACC_NAME, 
       SEARCH_VARCHAR_3 TOOL_TYPE_CD, 
       SEARCH_VARCHAR_4 ACC_HOST, 
       COUNT(1) FREQUENT
FROM ALS.ALS_CENTRAL_DEBUG_LOG_3
WHERE SERVICE_CD = 'SUP_PCM_CMD' 
  AND ACTION_CD = 'END' 
  AND OPERATION_CD IN ('getjobpwd', 'createaccountjob', 'savejobpwd', 'deactiveacctjob') 
  AND LOG_DTM BETWEEN TRUNC(ADD_MONTHS(TO_TIMESTAMP('01-08-2022','DD-MM-YYYY'), -1), 'MM') 
                  AND LAST_DAY(ADD_MONTHS(TRUNC(TO_TIMESTAMP('01-09-2022','DD-MM-YYYY'), 'mm'), -1))
-- AND LOG_DTM BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -1),'MM') 
-- AND LAST_DAY(ADD_MONTHS(TRUNC(SYSDATE,'mm'),-1))
GROUP BY TO_CHAR(LOG_DTM, 'yyyy-mm-dd'), -- 替换为和SELECT一致的日期格式化表达式
         HOST_NAME, 
         USER_CD, 
         SEARCH_VARCHAR_1, 
         OPERATION_CD, 
         SEARCH_VARCHAR_2, 
         SEARCH_VARCHAR_3, 
         SEARCH_VARCHAR_4;  

关键修改点

  • 将GROUP BY中的LOG_DTM替换为TO_CHAR(LOG_DTM, 'yyyy-mm-dd'),确保分组逻辑和SELECT中取出的日期字段完全匹配,这样同一日期下的同维度记录会被聚合在一起。
  • 如果更倾向于用日期类型而非字符串分组,也可以把SELECT中的TO_CHAR(LOG_DTM, 'yyyy-mm-dd')改成TRUNC(LOG_DTM),同时GROUP BY也对应改成TRUNC(LOG_DTM),效果一致。

内容的提问来源于stack exchange,提问作者ben jjm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:46:03