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

SQL查询实现同一日期仅显示单条记录并汇总当日警告错误数

问题根因

你写的SQL未实现按日期汇总,核心错误是GROUP BY的分组字段选择错误:当前语句按日志表主键id分组,每个id对应一条独立的原始日志,因此会返回所有单条日志记录,无法完成日期维度的累计统计。

修正后可直接使用的SQL
SELECT
  SUM(IF(bctw_error_logs.`severity_level` = '1', 1, 0)) AS Warnings,
  SUM(IF(bctw_error_logs.`severity_level` = '2', 1, 0)) AS Errors,
  DAYNAME(`log_date`) AS Day,
  DATE_FORMAT(`log_date`, "%M %d %Y") AS Date
FROM bctw_error_logs
GROUP BY DATE(`log_date`), Day, Date
ORDER BY `log_date` DESC;
关键调整说明
  • 移除了SELECT子句中的bctw_error_logs.id字段:按日期做聚合统计时,单条日志的主键没有业务意义,保留该字段在MySQL开启ONLY_FULL_GROUP_BY模式时会直接抛出语法错误
  • 替换分组规则:不再按单条日志id分组,改为按log_date的日期值分组,配合你原本写好的SUM+IF条件判断逻辑,就能自动累加对应日期下的警告、错误总条数,实现每个日期仅展示1条汇总记录的需求
  • 增加倒序排序规则:按日志生成时间倒序排列,最新日期的统计数据默认排在最前,符合日志类表格的常规展示习惯

如果需要实现点击对应数字查看当日明细日志的交互,只需要在WordPress前端输出层给Warnings、Errors列的数字加上对应日期的查询参数跳转即可,SQL层无需额外改动。

内容的提问来源于stack exchange,提问作者Usama Ahmed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 13:24:22