中位数怎么求图解,中位数怎么求计算公式

首页 > 经验 > 作者:YD1662024-03-25 16:48:38

而case表达式中的总数是由前面使用第1步count()函数计算出来的,所以第1步要先于case语句运行,因为要把第1步的sql作为子查询。

1 select 岗位, 2 (case when 总数 % 2 = 1 then (总数 1)/2 else 总数/2 end) as 起始位置, 3 (case when 总数 % 2 = 1 then (总数 1)/2 else 总数/2 1 end) as 结束位置 4 from 5 (select 岗位,count(*) as 总数 6 from 成绩表 7 group by 岗位) as t;

最后按岗位升序排序,用排序子句(order by)

1 select 岗位, 2 (case when 总数 % 2 = 1 then (总数 1)/2 else 总数/2 end) as 起始位置, 3 (case when 总数 % 2 = 1 then (总数 1)/2 else 总数/2 1 end) as 结束位置 4 from 5 (select 岗位,count(*) as 总数 6 from 成绩表 7 group by 岗位) as t 8 order by 岗位;

中位数怎么求图解,中位数怎么求计算公式(9)

【本题考点】

1.考察如何将复杂问题拆解为简单问题,可以使用多维度拆解分析方法,例如本案例中问题拆解问3步:

1)将中位数位置用公式表示出来

2)计算出每个岗位的总数

2)分情况统计总数的奇数、偶数

2.如何用%或mod函数判断奇偶

3.每个问题,要想到分组汇总来解决

4.多条件判断问题,要想到用case表达式

5.考查sql的运行顺序和子查询

【举一反三】

以下是某班同学的科目成绩表,查询每门科目的中位数位置的范围,并且按科目升序排序。

中位数怎么求图解,中位数怎么求计算公式(10)

1 select 科目, 2 (case when 总数 % 2 = 1 then (总数 1)/2 else 总数/2 end) as 起始位置, 3 (case when 总数 % 2 = 1 then (总数 1)/2 else 总数/2 1 end) as 结束位置 4 from 5 (select 科目,count(*) as 总数 6 from 科目成绩表 7 group by 科目) as t 8 order by 科目;

中位数怎么求图解,中位数怎么求计算公式(11)

第1行表示数学科目的中位数位置范围为[2,2],也就是2。因为数学科目总共3个人,是奇数,所以中位数位置为2。

第2行表示语文科目的中位数位置范围为[2,3]。因为Java岗位总共4个人,是偶数,所以要知道中位数,需要知道2个位置的数字,而因为只有4个人,所以中位数位置为[2,3]。

推荐:如何从零学会sql?

中位数怎么求图解,中位数怎么求计算公式(12)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.