首页 > 数据库 >sql计算众数及中位数

sql计算众数及中位数

时间:2023-02-05 11:34:14浏览次数:60  
标签:20 name sal 众数 中位数 sql select stock

众数

众数:

  • 情况①:一组数据中,出现次数最多的数就叫这组数据的众数。
    举例:1,2,3,3,4的众数是3。
  • 情况② :如果有两个或两个以上个数出现次数都是最多的,那么这几个数都是这组数据的众数。
    举例:1,2,2,3,3,4的众数是2和3。
  • 情况③:如果所有数据出现的次数都一样,那么这组数据没有众数。
    举例:1,2,3,4,5没有众数。

问题:需要找出某一列的众数(即在一组数据里出现次数最多的那个数)。例如,希望找出 DEPTNO 等于 20 的部门里员工工资的众数。就如下示例而言,众数为 3000。

select sal
  from emp
 where deptno = 20
 order by sal
 
       SAL
----------
       800
      1100
      2975
      3000
      3000
  • 步骤1: DEPTNO 等于 20 的筛选条件下,将工资作为分组主键,求每一个工资金额的条目数
  • 步骤2:借助开窗函数,对条目数进行降序排列,且排序方法为dense_rank并列排序(相同的值为同一序号,不跳过重复序号——1,1,2)
  • 步骤3:筛选出排序为1的,且count条目数大于1的(排除情况3)
select sal
from (
       select sal,
       dense_rank() over(order by cnt desc) as rnk
       from (
       select sal, count(*) as cnt
       from emp
       where deptno = 20
       group by sal
     ) 
     ) 
where rnk = 1 
and cnt > 1 -- 剔除情况3

分位数

四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。它是一组数据排序后处于25%,中位数和75%位置上的值。四分位数是通过3个点将全部数据等分为4部分,其中每部分包含25%的数据.
percentile

SELECT `stock_name`, percentile(`target_amount`,0.25) FROM input
group by `stock_name` 

SELECT `stock_name`, percentile(`target_amount`,array(0.25,0.75)) FROM input
group by `stock_name`

标签:20,name,sal,众数,中位数,sql,select,stock
From: https://www.cnblogs.com/tian1022/p/17093069.html

相关文章

  • #yyds干货盘点# LeetCode面试题:寻找两个正序数组的中位数
    1.简述:给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。 示例1:输入:n......
  • SQLMAP使用
    sqlmap使用教程-u指定目标URL(可以是http协议也可以是https协议)-d连接数据库--dbs列出所有的数据库--current-db列出当前数据库--tables列出当前的表--column......
  • SQL注入- 堆叠注入
    SQL注入-堆叠注入1.堆叠查询注入​ stackedinjections(堆叠注入)从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mys......
  • SQL注入
    SQL注入简单Sqli-labs/Less-2演示信息收集我们使用ubantu搭建Sqli-labs靶场安装:参考博客https://blog.csdn.net/han123456o/article/details/107822333确定注入源:......
  • SQL注入-SQLmap-不同数据库注入
    SQL注入-不同数据库注入-注入工具的使用简要学习各种数据库的注入特点access,mysql,mssql,mongoDB,postgresql,sqlite,oracle,sybase等1.access注入Access数据库......
  • SQL注入-waf绕过
    SQL注入-waf绕过网络资源https://www.cnblogs.com/cute-puli/p/11146625.htmlhttps://www.cnblogs.com/r00tgrok/p/SQL_Injection_Bypassing_WAF_And_Evasion_Of_Filte......
  • 写sql的这样子这样子的设置的话,timestamp (2023-01-04 00:00:00)可以直接等于pdate(2023-
         ......
  • SQL注入-跨站注入
    SQL注入-跨站注入-主机文件读写1.information_schemainformation_schema数据库跟performance_schema一样,都是MySQL自带的信息数据库。其中performance_schema用......
  • SQL注入-盲注
    SQL注入-盲注​ 当进行SQL注入时,有很多注入会出现无回显的情况,其中不回显的原因可能是SQL语句查询方式的问题导致,这个时候我们需要用到相关的报错或盲注进行后续操作,同时......
  • SQL注入-二次注入
    SQL注入-二次注入-dnslog注入二次注入二次注入一般是用于白盒测试、黑盒测试就算是找到注入也没办法攻击。使用sqlilabs-less24-post登陆框&二次注入演示在原来数据库......