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

Firebird 2.5中统计指定日期内非0状态设备的事件数

解决方案

直接使用分组聚合查询即可实现需求,Firebird 2.5完全支持该语法:

SELECT RPRID, COUNT(*) AS ERRORCOUNT
FROM RPR_HISTORY
WHERE LASTRES <> 0
  AND TSTAMP >= :STARTSTAMP
GROUP BY RPRID
ORDER BY RPRID;

关键说明:

  • GROUP BY RPRID:将相同RPRID的记录归为一组,确保每个设备ID只返回一行结果
  • COUNT(*):统计每组内满足LASTRES <> 0和时间范围条件的记录总数,也就是该设备的非0状态事件数
  • AS ERRORCOUNT:给统计列指定别名,与你期望的输出格式完全匹配
  • 可选的ORDER BY RPRID:让结果按设备ID排序,和示例格式保持一致

你之前用DISTINCT只能去重获取设备ID,但无法完成聚合统计。分组查询是这类按维度统计需求的标准写法,只要保证SELECT子句中的列要么是GROUP BY的分组字段,要么是聚合函数(比如COUNT、SUM等),就不会出现分组错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:35:17