mysql 如何分组统计失败率?
有下面一个表:
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 表示『何时被解析』
有这么一个需求:统计每个 track_source_id 解析失败率
我不知道怎么写出对应的查询 sql
回复
1个回答

test
2024-07-16
这样?
SELECT track_source_id, 1 - SUM(is_parsed) / COUNT(*)
FROM parse_monitoring
GROUP BY track_source_id
回复

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