【发布时间】:2019-02-16 21:04:59
【问题描述】:
中位数定义为将数据集的上半部分与下半部分分开的数字。从 STATION 查询北纬 (LAT_N) 的中位数并将您的答案四舍五入到小数位。
输入格式
STATION表描述如下:
Field : Type
ID : NUMBER
CITY : VARCHAR2(21)
STATE : VARCHAR2(2)
LAT_N : NUMBER
LONG_W: NUMBER
其中 LAT_N 是北纬,LONG_W 是西经。
我只能设法获得中值的行索引
select floor((count(lat_n)+1)/2) from station;
即行索引250。下一步是使用该值提取行索引250处的lat_n值。如何转换为SQL?
【问题讨论】:
-
哪个数据库系统?甲骨文?SQLS?后格雷斯? mysql?等
-
欢迎来到 SO!几乎可以保证,以前有人问过这个问题,请进行搜索(如有必要,请使用 google 搜索此站点 - 它比 SO 的内置搜索更好)并告诉我们您尝试了什么
-
根据
number和varchar2数据类型的使用情况标记为oracle -
边缘情况:对于偶数表,中位数通常报告为中间两条记录的mean值。
-
顺便说一句,看起来你已经从家庭作业或考试类型的练习中倾倒了文本,我默认不提交答案,因为我不认为使用 SO一个家庭作业完成设备,在您自己的学习方面合理利用时间。请看一下techonthenet.com/oracle/functions/median.php - oracle 有一个功能来做中位数,你的问题缺乏足够的细节让你以外的任何人(谁知道你想要的中位数)来完成..