您的位置:首页 > 健康 > 养生 > 手机兼职_无锡网站优化排名推广_成功品牌策划案例_黑帽seo优化软件

手机兼职_无锡网站优化排名推广_成功品牌策划案例_黑帽seo优化软件

2025/5/12 2:19:48 来源:https://blog.csdn.net/weixin_46990523/article/details/147504219  浏览:    关键词:手机兼职_无锡网站优化排名推广_成功品牌策划案例_黑帽seo优化软件
手机兼职_无锡网站优化排名推广_成功品牌策划案例_黑帽seo优化软件

示例一

数据表中有每个企业每年每月并且每月的产值是累加的数据的数据记录

  • 需求:

统计企业产值能力,找出所有家企业中产值最高的企业,其产值记为P。对于第i家企业,其产值为Pi则该企业的产值能力评分=Pi/P×100。

  • SQL:
--        使用ROW_NUMBER()为每个企业每年每个月的产值排名,筛选出每个企业每年最大月份的产值。WITH MaxMonthlyOutput AS (SELECT company_id,declare_year,declare_month,total_industrial_value,ROW_NUMBER() OVER (PARTITION BY company_id, declare_year ORDER BY declare_month DESC) as rnFROM company_revenue_info),
--             从MaxMonthlyOutput中筛选出每个企业每年最大月份的产值。MaxYearlyOutput AS (SELECT company_id,declare_year,total_industrial_valueFROM MaxMonthlyOutputWHERE rn = 1),
--             计算每个企业每年的最大月份产值的总和,得到Pi。SumYearlyOutput AS (SELECT company_id,SUM(total_industrial_value) as PiFROM MaxYearlyOutputGROUP BY company_id),
--              找出所有企业的Pi中的最大值,记为P。MaxPi AS (SELECT MAX(Pi) as PFROM SumYearlyOutput)
--            计算每个企业的得分,公式为Pi/P*100。SELECT syo.company_id         AS companyId,syo.Pi                 AS perValue,mpa.P                  AS standardValue,(syo.Pi / mpa.P * 100) AS scoreFROM SumYearlyOutput syoCROSS JOINMaxPi mpa;
  • MySQL5兼容语法
SELECT s.company_id AS companyId,COALESCE(s.Pi, 0) AS perValue,  -- 空值转0COALESCE(m.P, 1) AS standardValue,  -- 防止除零错误ROUND((COALESCE(s.Pi, 0) / NULLIF(COALESCE(m.P, 1), 0) * 100), 4) AS score
FROM (SELECT company_id,COALESCE(SUM(total_industrial_value), 0) AS Pi  -- 子查询空值处理FROM (SELECT r.company_id, r.total_industrial_valueFROM company_revenue_info rINNER JOIN (SELECT company_id, declare_year, MAX(declare_month) AS max_monthFROM company_revenue_infoGROUP BY company_id, declare_year) mON r.company_id = m.company_id AND r.declare_year = m.declare_year AND r.declare_month = m.max_month) subGROUP BY company_id) s
CROSS JOIN (SELECT COALESCE(MAX(Pi), 1) AS P  -- 确保标准值不为NULLFROM (SELECT COALESCE(SUM(total_industrial_value), 0) AS PiFROM (SELECT r.company_id, r.total_industrial_valueFROM company_revenue_info rINNER JOIN (SELECT company_id, declare_year, MAX(declare_month) 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com