返回顶部
首页 > 资讯 > 数据库 >MySQL百分位数如何计算
  • 822
分享到

MySQL百分位数如何计算

2024-04-02 19:04:59 822人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“Mysql百分位数如何计算”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql百分位数如何计算”这篇文章吧。select

这篇文章主要为大家展示了“Mysql百分位数如何计算”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql百分位数如何计算”这篇文章吧。

  1. select query_time,d,max(ts) ts from (

  2.     select t2.query_time,ts,rn,round(rn/total,10) percent,

  3.     case

  4.     when 0.71>=round(rn/total,10) then 0.71

  5.     when 0.81>=round(rn/total,10) then 0.81

  6.     when 0.91>=round(rn/total,10) then 0.91

  7.     end d

  8.     from (

  9.         select query_time,ts,

  10.         case when @gid=query_time then @rn:=@rn+1 when @gid:=query_time then @rn:=1 end rn

  11.         from (

  12.             select * from t ,(select @gid:='',@rn:=0) vars order by query_time,ts

  13.         ) t1

  14.     ) t2 inner join (

  15.         select query_time,count(*) total from t group by query_time

  16.     ) t3 on(t2.query_time=t3.query_time)

  17.     where round(rn/total,10)>=0.71

  18. ) t6

  19. where d is not null

  20. group by query_time,d


 where round(rn/total,10)>=0.71
即 用定义的最小的百分位数进行过滤后,再group by

此时 查询时间可以低至 20.531 s

当然,这个sql还有进一步提升的空间

计算 某个百分位数的位置,有如下的公式:
loc=1+(n-1)*p,n是元素数,p是分位点。loc大小介于1和n之间

那么SQL可以进行如下优化


  1. select t5.query_time,t5.ts,t2.v from (

  2.     select query_time,total,v, floor(1+(total-1)*v) rn

  3.     from (

  4.          select query_time,count(*) total from t group by query_time

  5.     ) t3, (select 0.71 v,1 seq uNIOn all select 0.81,2 union all select 0.91,3) t4

  6. )

  7. t2 inner join (

  8.     select

  9.     query_time,

  10.     case when @gid=query_time then @rn:=@rn+1 when @gid:=query_time then @rn:=1 end rn,

  11.     ts

  12.     from (

  13.         select * from t ,(select @gid:='',@rn:=0) vars order by query_time,ts

  14.     ) t1

  15. ) t5 on (t2.query_time=t5.query_time and t2.rn=t5.rn )


除了本身简化了SQL复杂度,查询时间也低至 15秒左右

以上是“MySQL百分位数如何计算”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL百分位数如何计算

本文链接: https://lsjlt.com/news/62558.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL百分位数如何计算
    这篇文章主要为大家展示了“MySQL百分位数如何计算”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL百分位数如何计算”这篇文章吧。select...
    99+
    2024-04-02
  • MySQL如何实现百分位数计算
    这篇文章主要介绍了MySQL如何实现百分位数计算,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建试验数据,5天每天一百万随机数据,总共50...
    99+
    2024-04-02
  • MySQL百分位数计算如何进行优化
    小编给大家分享一下MySQL百分位数计算如何进行优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!主要是采用存储过程,在中间计算...
    99+
    2024-04-02
  • Polar 计算百分位数
    问题内容 我有一个极坐标数据框,其中有一列包含日期,其他列包含价格,我想计算 252 x 3 观测值窗口中每个列的百分位数。 为此,我正在这样做: prices = prices.s...
    99+
    2024-02-22
  • sql如何计算百分比
    有三种主要方法可以利用 sql 计算百分比:直接计算、使用窗口函数以及使用 case 表达式。直接计算通过将分子除以分母并乘以 100 获得百分比;窗口函数允许根据组按分母值计算百分比;...
    99+
    2024-06-06
  • python计算分位数
    使用numpy包: import numpy as np a=np.array(([1,2,3,4])) np.median(a)#中位数 np.percentile(a,95)#95%分位数 ...
    99+
    2023-01-31
    位数 python
  • MySQL计算百分比方法介绍
    根据相应条件抽出相应count数(myCount)抽出总count数(totalCount)计算百分比:myCount / totalCount * 100四舍五入:使用ROUND函数ROUND(numbe...
    99+
    2024-04-02
  • PHP 计算两数的百分比
    一、计算数量与总数之间相差百分之多少。 先用数量减掉总数。 数量除总数再乘100;得出%结果。 round(数值 , 保留几位小数); 二、计算数量是总数的百分之多少。 数量÷总数×100=百分比 来源地址:https://bl...
    99+
    2023-09-18
    php
  • MySQL中位数计算方法
    在网上搜到的一种算法是利用自增长变量进行排序,然后再根据位置序号取。感觉有些复杂了,还是group_concat来的省事些 按顺序聚合,逗号分隔,并计数 group_concat( number order by number ...
    99+
    2016-10-07
    MySQL中位数计算方法 数据库入门 数据库基础教程 数据库 mysql
  • mysql如何分组统计并求出百分比
    目录mysql分组统计并求出百分比1、mysql 分组统计并列出百分比2、按年龄段分组,并求个年龄段占比mysql求百分比的几种方法函数介绍利用round,format,left与c...
    99+
    2022-11-13
    mysql分组统计 mysql百分比 mysql统计
  • excel如何算百分比
    这篇文章主要介绍“excel如何算百分比”,在日常操作中,相信很多人在excel如何算百分比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”excel如何算百分比”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • 如何计算php时间戳位数
    这篇文章主要介绍“如何计算php时间戳位数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何计算php时间戳位数”文章能帮助大家解决问题。php时间戳一般都是10位数。计算php时间戳位数的方法:1...
    99+
    2023-07-05
  • CSS百分比padding怎么计算
    本篇内容主要讲解“CSS百分比padding怎么计算”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS百分比padding怎么计算”吧!一、CSS百分比pad...
    99+
    2024-04-02
  • Java 分位点(分位值)计算方式
    目录Java 分位点(分位值)计算有一个需求那么怎么建立数学模型呢?下面用Java 代码实现正常输出完成需求核心代码Java 求百分位数说明一下java代码Java 分位点(分位值)...
    99+
    2024-04-02
  • MySQL如何求百分率
    这篇文章主要介绍MySQL如何求百分率,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 报表业务要求求字段分类在表中百分率,SQL如下(SQL中表为本人业务表,须更改): Mysq...
    99+
    2024-04-02
  • java8 如何实现分组计算数量和计算总数
    java8分组计算数量和计算总数 package com.pig4cloud.pigx.admin.api.vo; import lombok.Builder; import l...
    99+
    2024-04-02
  • MySQL中如何计算时间相差的分钟数
    在MySQL中,计算时间相差的分钟数是一个非常常见的需求。本文将介绍一些实用的函数,帮助你轻松地计算时间相差的分钟数。 TIMEDIFF函数 TIMEDIFF函数是MySQL中用于计算时间差的函数之一。它的语法如下: e1e2) e1e2...
    99+
    2023-10-20
    mysql 数据库
  • C语言如何计算一个整数的位数
    目录计算一个整数的位数关于如何获取整数各个位然后知道通过 i/10 便可"清除"个位数计算一个整数的位数 只需要设计一个计时器,因为C语言中除法只留下整数部分,所...
    99+
    2022-11-16
    C语言整数位数 计算整数的位数 C计算一个整数位数
  • C#中的小数和百分数计算与byte数组操作
    一、百分数 //按照四舍五入的国际标准 string p1 = (Math.Round(0.333367, 4)*100).ToString() + "%";//33.34% dou...
    99+
    2024-04-02
  • sql如何分组并计算数量
    在SQL中,使用GROUP BY子句可以将数据分组,并使用聚合函数计算每个组的数量。例如,假设有一个名为"orders"的表,其中包...
    99+
    2023-08-08
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作