ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql 常见数据分析,统计数据 工作应用场景

2021-12-02 15:30:01  阅读:169  来源: 互联网

标签:数据分析 场景 name deploy when srv mysql id select


-- 原始数据
select c.system as `系统名`,a.srv_name as `服务`, DATE_FORMAT(a.created_at, '%Y %m') as `发布月份`, a.version as `制品版本` , pc.deploy_cluster_name as `发布集群` ,  b.`project_name` as `coding项目名称`, b.attribute as `发布特性`, a.created_at as `发布时间`, 
a.updated_at as `最新时间`, a.creator as `发布人`, b.reviewer as `代码审查人`, case a.status 
when 1 then '准备发布' when 2 then '发布中' when 3 then '成功' when 4 then '发布失败' when 5 then '发布终止' else a.status end as `状态`, case a.release_type
when 1 then '正常发布' when 2 then '测试发布' when 3 then '特殊发布' when 4 then '回滚发布' when 5 then '扩容发布' else a.release_type end as `发布类型`
from (select * from deploy_tasks WHERE srv_name != 'coding' ) a 
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id
left join (select SUBSTRING_INDEX(SUBSTRING_INDEX(srv_dn,'/',3),'/',-1) as `system`,id from `eff_service`.basec_srv) c on a.srv_id=c.id 
LEFT JOIN  (
SELECT deploy_task_id, GROUP_CONCAT(deploy_cluster_name SEPARATOR '\n') as deploy_cluster_name FROM ( SELECT deploy_task_id, deploy_cluster_name  FROM deploy_machine_records GROUP BY deploy_task_id,deploy_cluster_name ) pc1  GROUP BY deploy_task_id
) pc ON pc.deploy_task_id  = a.id order by c.system,a.srv_name,a.created_at desc

-- 发布次数,成功次数
SELECT t.system as `系统名`, t.srv_name as '服务名',t.project_name as 'coding项目名',t.coun as '发布次数', coalesce(t1.coun1,0) as '发布完成次数', coalesce(CONCAT(ROUND(t1.coun1 /t.coun * 100,2),'','%') ,'0%')  as '发布成功率' 

,coalesce(t2.coun2,0) as '回滚发布次数', CONCAT(coalesce(ROUND(t3.pub_time,2),0),'分钟') as '(已完成)平均发布时长' FROM (
select c.system, a.srv_name,b.project_name,COUNT(*) as coun
from (select * from deploy_tasks WHERE srv_name != 'coding' ) a
left join (select id, reviewer, attribute,project_name from deploy_plans) b on a.deploy_plan_id=b.id
left join (select SUBSTRING_INDEX(SUBSTRING_INDEX(srv_dn,'/',3),'/',-1) as `system`,id from `eff_service`.basec_srv) c on a.srv_id=c.id 
GROUP BY a.srv_name,b.project_name,c.system
) t LEFT JOIN (
select a.srv_name,COUNT(*) as coun1 from (
select * from deploy_tasks WHERE srv_name != 'coding' AND `status` = 3 ) a
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id GROUP BY a.srv_name
) t1 on t.srv_name = t1.srv_name LEFT JOIN (

select a.srv_name,COUNT(*) as coun2 from (
select * from deploy_tasks WHERE srv_name != 'coding' AND `release_type` = 4  ) a
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id GROUP BY a.srv_name

) t2 on t.srv_name = t2.srv_name LEFT JOIN (

select a.srv_name,AVG(TIMESTAMPDIFF(MINUTE,a.created_at,a.updated_at)) as pub_time from (
select * from deploy_tasks WHERE srv_name != 'coding' AND `status` = 3 ) a
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id GROUP BY a.srv_name

) t3 on t.srv_name = t3.srv_name ORDER BY t.system,t.srv_name,t.coun DESC


select a.srv_name as '服务名',COUNT(*)  as '回滚发布次数' from (
select * from deploy_tasks WHERE srv_name != 'coding' AND `release_type` = 4  ) a
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id GROUP BY a.srv_name


select a.srv_name,AVG(TIMESTAMPDIFF(MINUTE,a.created_at,a.updated_at)) as pub_time from (
select * from deploy_tasks WHERE srv_name != 'coding' AND `status` = 3 ) a
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id GROUP BY a.srv_name


select DATE_FORMAT(a.created_at, '%Y%m') as `发布月份`, a.srv_name as `服务`, b.`project_name` as `coding项目名称`, a.version as `制品版本`, b.attribute as `发布特性`, a.created_at as `发布时间`, 
a.updated_at as `最新时间`, a.creator as `发布人`, b.reviewer as `代码审查人`, case a.status 
when 1 then '准备发布' when 2 then '发布中' when 3 then '成功' when 4 then '发布失败' when 5 then '发布终止' else a.status end as `状态`, case a.release_type
when 1 then '正常发布' when 2 then '测试发布' when 3 then '特殊发布' when 4 then '回滚发布' when 5 then '扩容发布' else a.release_type end as `发布类型`
from (select * from deploy_tasks WHERE srv_name = 'webrtc-center-svr-l3' AND `status` = 3 ) a
left join (select id, reviewer, attribute,project_name from deploy_plans ) b on a.deploy_plan_id=b.id order by a.id desc



在这里插入图片描述

标签:数据分析,场景,name,deploy,when,srv,mysql,id,select
来源: https://blog.csdn.net/aaqq123456654321/article/details/121678319

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有