如何使用 MySQL 統(tǒng)計(jì)每個(gè)監(jiān)測(cè)對(duì)象的解析失敗率?

如何使用 MySQL 統(tǒng)計(jì)每個(gè)監(jiān)測(cè)對(duì)象的解析失敗率?

mysql 分組統(tǒng)計(jì)失敗率

問題:

如何在 mysql 中對(duì)表中的數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),計(jì)算指定字段的失敗率?例如,對(duì)于一個(gè)具有以下結(jié)構(gòu)的表:

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 表示監(jiān)測(cè)對(duì)象
  • is_parsed 表示解析是否成功,0 表示失敗,1 表示成功
  • parsed_at 表示解析時(shí)間

給出這樣的需求,統(tǒng)計(jì)每個(gè) track_source_id 的解析失敗率。

解答:

可以通過以下 sql 查詢來實(shí)現(xiàn):

SELECT track_source_id, 1 - SUM(is_parsed) / COUNT(*) FROM parse_monitoring GROUP BY track_source_id

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊13 分享