mysql 如何分组统计失败率?

作者站长头像
站长
· 阅读数 13

有下面一个表:

CREATE TABLE `parse_monitoring` (
  `id` int NOT NULL AUTO_INCREMENT,
  `track_source_id` int NOT NULL,
  `is_parsed` int NOT NULL,
  `parsed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `index_parsed_at` (`parsed_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  • track_source_id 表示『监测对象』
  • is_parsed 表示『是否解析成功』,0 表示解析失败,1 表示解析成功
  • parsed_at 表示『何时被解析』

mysql 如何分组统计失败率?

有这么一个需求:统计每个 track_source_id 解析失败率

我不知道怎么写出对应的查询 sql

回复
1个回答
avatar
test
2024-07-16

这样?

SELECT track_source_id, 1 - SUM(is_parsed) / COUNT(*)
FROM parse_monitoring
GROUP BY track_source_id
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容