精华内容
下载资源
问答
  • 区间统计
    千次阅读
    2021-01-26 05:16:45

    mysql中可以利用elt,interval函数来实现此类需求

    mysql> select * fromk1;+------+------+

    | id | yb |

    +------+------+

    | 1 | 100 |

    | 2 | 11 |

    | 3 | 5 |

    | 4 | 501 |

    | 5 | 1501 |

    | 6 | 1 |

    +------+------+

    现在要进行统计,小于100的,100~500的,500~1000的,1000以上的,这各个区间的id数

    利用interval划出4个区间,再利用elt函数将4个区间分别返回一个列名:

    mysql> select elt(interval(d.yb,0, 100, 500, 1000), ‘less100‘, ‘100to500‘, ‘500to1000‘, ‘more1000‘) as yb_level, count(d.id) ascntfromk1 dgroup by elt(interval(d.yb, 0, 100, 500, 1000), ‘less100‘, ‘100to500‘, ‘500to1000‘, ‘more1000K‘);+-----------+-----+

    | yb_level | cnt |

    +-----------+-----+

    | 100to500 | 1 |

    | 500to1000 | 1 |

    | less100 | 3 |

    | more1000 | 1 |

    +-----------+-----+

    4 rows in set (0.00 sec)

    如果需要按从小到大排序的话 可以在列名定义时稍加一个首字符 对各档区间进行排序

    mysql>select elt(interval(d.yb,0, 100, 500, 1000), ‘1/less100‘, ‘2/100to500‘, ‘3/500to1000‘, ‘4/more1000‘) as yb_level, count(d.id) ascntfromk1 dgroup by elt(interval(d.yb, 0, 100, 500, 1000), ‘1/less100‘, ‘2/100to500‘, ‘3/500to1000‘, ‘4/more1000K‘);+-------------+-----+

    | yb_level | cnt |

    +-------------+-----+

    | 1/less100 | 3 |

    | 2/100to500 | 1 |

    | 3/500to1000 | 1 |

    | 4/more1000 | 1 |

    +-------------+-----+

    4 rows in set (0.00 sec)

    附elt函数格式:

    ELT(N,str1,str2,str3,...)

    如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于参数个数,返回NULL。ELT()是FIELD()反运算。

    mysql> select ELT(1, ‘ej‘, ‘Heja‘, ‘hej‘, ‘foo‘);-> ‘ej‘mysql> select ELT(4, ‘ej‘, ‘Heja‘, ‘hej‘, ‘foo‘);-> ‘foo‘

    interval函数格式:

    INTERVAL() Return the index of the argument that is less than the first argument(小于后面的某个参数,就返回这个参数的前一个位置数字)

    INTERVAL(N,N1,N2,N3,...)

    Returns 0 if N < N1, 1 if N < N2 and so on or -1 if N is NULL. All arguments are treated as integers. It is required that N1 < N2 < N3 < ... < Nn for this function to work correctly. This is because a binary search is used (very fast).

    mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200); (23小于30,30的位置是4,于是返回3)-> 3mysql> SELECT INTERVAL(10, 1, 10, 100, 1000);-> 2mysql> SELECT INTERVAL(22, 23, 30, 44, 200);-> 0

    更多相关内容
  • 通达信指标公式源码有区间统计的.doc
  • 工作中需要统计各种各样的日期区间数据,童鞋们估计都是手工或者用数据透视表来透视下数据。今天给大家一种使用函数自动更新日期区间的方法。 第一步用NOW函数取当天的日期,,在另个单元格用day函数取当天的天数:...
  • 使用mysql对某一列进行区间统计

    千次阅读 2022-03-16 20:41:41
    mysql中使用ETL和interval组合进行区间统计

    一、数据准备

    假设user表如下:

    idgrade
    1108
    21011
    3103
    11112
    21115
    3116
    1108
    21011
    3103
    11112
    21115
    3116
    #将文本数据导入数据库
    load data infile 'user.csv' into table user fields terminated by"," lines terminated by"\n";
    

    二、使用ELT、interval组合进行区间统计

    假设统计grade字段中,以4为步长进行区间统计。

    select ELT(INTERVAL(t.`grade`,0,4,8,12,16),'0-4','4-8','8-12','12-16') as grade_level,COUNT(t.`grade`) as cnt from user t GROUP BY grade_level;
    

    运行结果如下:

    grade_levelcnt
    8-124
    0-42
    12-164
    4-82

    注意:这里输出区间是没有顺序的,可以导出使用excel简单处理即可

    展开全文
  • SQL语句实现区间统计

    2021-10-21 19:55:43
    /* ageRange qty ------------------------- ----------- 0-10 2 10-20 1 20-30 1 30-40 0 40-50 0 50-60 0 60-70 0 70-80 0 80-90 0 90-100 0 100-110 0 (11 row(s) affected) */ 增加区间分级的练习: create ...

    搜索学习记录:https://bbs.csdn.net/topics/391976117
    在这里插入图片描述

    
    create table #t(recordkey varchar(10),age int)
     
    insert into #t
     select '0001_1',8 union all
     select '0001_2',8 union all
     select '0001_3',8 union all
     select '0004_1',9 union all
     select '0002_1',13 union all
     select '0003_1',22
     
     
    select a.ageRange,
           qty=sum(isnull(b.qty,0))
     from
    (select ageRange=rtrim(number)+'-'+rtrim(number+10),
            agebegin=number,
            ageEnd=number+10
     from master.dbo.spt_values
     where type='P' and number between 0 and 100
     and number%10=0) a
    left join
    (select age,
            'qty'=count(distinct left(recordkey,4))
     from #t
     group by age) b on b.age between a.agebegin and a.ageEnd
    group by a.ageRange
    order by min(a.agebegin)
     
    /*
    ageRange                  qty
    ------------------------- -----------
    0-10                      2
    10-20                     1
    20-30                     1
    30-40                     0
    40-50                     0
    50-60                     0
    60-70                     0
    70-80                     0
    80-90                     0
    90-100                    0
    100-110                   0
    (11 row(s) affected)
    */
    

    增加区间分级的练习:

     
     create table #t(recordkey varchar(10),age int,age1 int,age2 int,age3 int)
      
     insert into #t
      select '0001_1',8,0,10,20 union all
      select '0001_2',8,0,10,20 union all
      select '0001_3',8,0,10,20 union all
      select '0004_1',9,0,10,20 union all
      select '0002_1',13,0,10,20 union all
      select '0003_1',22,0,10,20
    
     SELECT *, (case
     when age BETWEEN age1 and age2 then '1'
     when age BETWEEN age2 and age3 then '2'
     when age > age3 then '3'
     else '00'
     end) as 分级 from #t
    
    
    
     
     
    select a.ageRange,
           qty=sum(isnull(b.qty,0))
     from
    (select ageRange=rtrim(number)+'-'+rtrim(number+10),
            agebegin=number,
            ageEnd=number+10
     from master.dbo.spt_values
     where type='P' and number between 0 and 100
     and number%10=0) a
    left join
    (select age,
            'qty'=count(distinct left(recordkey,4))
     from #t
     group by age) b on b.age between a.agebegin and a.ageEnd
    group by a.ageRange
    order by min(a.agebegin)
     
    /*
    ageRange                  qty
    - -
    0-10                      2
    10-20                     1
    20-30                     1
    30-40                     0
    40-50                     0
    50-60                     0
    60-70                     0
    70-80                     0
    80-90                     0
    90-100                    0
    100-110                   0
    (11 row(s) affected)
    */
    
    展开全文
  • 成绩区间统计

    2017-07-31 21:52:51
    成绩区间统计
  • Python 列表数据分布区间统计数量

    千次阅读 2022-03-23 17:39:19
    Python 列表数据分布区间统计数量 例如:把年龄间隔20岁作为区间,统计每个区间的人数 import pandas as pd ages=[24,22,26,30,25,23,47,31,51,45,43,13] bins=[0,20,40,50,60,70,80,90,100] #将年龄划分为...

    Python 列表数据分布区间统计数量

    例如:把年龄间隔20岁作为区间,统计每个区间的人数

    import pandas as pd
    
    ages=[24,22,26,30,25,23,47,31,51,45,43,13]
    
    bins=[0,20,40,50,60,70,80,90,100]
    
    #将年龄划分为18-25,26-35,36-60,60以上
    
    cats=pd.cut(ages,bins)
    
    print(pd.value_counts(cats)) #按区间计数
    
    print(pd.cut(ages,bins,right=False)) #默认右闭

    展开全文
  • 利用Excel FREQUENCY函数进行按区间统计数值个数.rar,FREQUENCY函数的计算结果非常特别,无论用户指定的参数是一维的数组还是二维的单元格引用,该函数都将返回一个垂直数组。本例“按区间统计数值个数”中示例了一...
  • Python对列表数据进行区间统计

    千次阅读 2021-02-24 20:52:27
    有时我们有一堆数据,我们需要统计在各个区间段的数据有多少,占总数据量的比例,可借助如下程序。程序可去我的GitHub网站下载 程序 import numpy as np def interval_statistics(data, intervals): if len(data)...
  • mysql之case when按区间统计个数

    千次阅读 2022-05-03 17:39:17
    按照级别统计个数: SELECT case WHEN population <50 then '1' WHEN population >=50 and population <100 then '2' WHEN population >=100 and population <200 then '3' WHEN ...
  • Excel第14享:countif()函数之区间统计

    千次阅读 2020-05-30 22:17:26
    1、功能 countif()函数可以使用大于、大于...3)返回大于5的单元格数量(虽然文本和逻辑值大于数值,但对数值的统计结果会忽略文本逻辑值等)。 =COUNTIF(range,">5") 4)返回大于单元格A1中内容的单元格数量。 =
  • 进行统计,小于35000的,110000-220000的,400000-500000 的,500000 以上的,这各个区间的dydj数利用interval划出4个区间,再利用elt函数将4个区间分别返回一个列名。 SELECT s.dydj name_s, sum( s.VALUE ) ...
  • 现有一批成绩,要求统计各分数段人数并可视化。 要点 pandas.cut可以把一组数据分割成离散的区间,并用为数据打上标签。然后配合pandas.value_counts函数按值计数。 注意!仅能应用于Series类型。 实现1 代码: ...
  • 在工作中经常遇到按日期区间统计的需求,比如需要统计月初到当前日期的销售额,或统计周年庆(比如历时5天)的销售额……针对这类条件求和如何实现呢?本文结合一个简单案例,来介绍使用SUMIF函数以日期区间作为条件的...
  • 1.对数据给出区间宽度进行统计 2.生成生成指定区间宽度的直方图绘制数据 设计思路 对直方图的理解:直方图是数值数据分布的精确图形表示,建直方图第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后...
  • 项目数据统计功能中有一个需求,需要把人员年龄分成各个年龄段后再统计数量。数据源格式:需要统计出来的格式为:实现sql为:
  • 1、用途:pandas.cut函数用来把一组数据按照离散的区间进行频数统计。 2、参数: pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise') x:...
  • 数据: 语句: select toStartOfHour(created_at) time_interval , count(*) num from my_table group by toStartOfHour(created_at... 参考链接:SQL操作实践之范围分区间统计的使用 clickhouse官方文档-时间日期函数
  • R统计绘图: 拟合区间统计图表绘制

    千次阅读 2022-01-28 00:17:05
    今天这篇推文小编写一些基础的内容:如何绘制在散点图上显示其线性模型线性模型的拟合结果及其置信区间。这里小编使用R和Python分别绘制,主要内容如下: R-ggplot2::geom_smooth()函数绘制 Python-seaborn:...
  • 需求: 按价格区间统计电视销量和销售额 原始数据: DSL: GET / tvs / sales / _search { "size" : 0 , "aggs" : { "price" : { "histogram" : { "field" : "price" , ...
  • -----+------+ | id | yb | +------+------+ | 1 | 100 | | 2 | 11 | | 3 | 5 | | 4 | 501 | | 5 | 1501 | | 6 | 1 | +------+------+ 现在要进行统计,小于100的,100~500的,500~1000的,1000以上的,这各个区间的...
  • 在开发过程中,会遇到对区间段的数据进行处理,比如需求:统计各个分数段的人数 源数据: 对每一个区间进行分组统计
  • wps excel统计成绩区间人数方法

    千次阅读 2021-07-26 01:52:33
    700-760 =SUMPRODUCT((L4:L70>=640)*(L4:L70)) 640-699 =SUMPRODUCT((L4:L70>=600)*(L4:L70)) 600-639 =SUMPRODUCT((L4:L70>=500)*(L4:L70)) 500-599 =SUMPRODUCT((L4:L70>=0)*(L4:L70)) 0-499 上面的区间是大于...
  • oracle统计时间区间

    2021-11-18 09:55:33
    1、按天统计数据,没有补0 SELECT b.DAY_TIME as abscissa_name, nvl( a.ct, 0 ) as total FROM ( SELECT to_char( t.REQUEST_TIME, 'yyyy-MM-dd' ) birthday, count( 1 ) ct FROM ESB_LOG t GROUP BY to_...
  • sta_table <- table(cut(a_duplength,breaks=c(999,10000,100000,1000000,10000000,max(alength, breaks = c(999,10000,100000,1000000,10000000,max(alength,breaks=c(999,10000,100000,1000000,10000000,max(a...
  • excel中分段统计区间个数

    千次阅读 2021-03-09 10:20:14
    本文就以下图为例,对于C列的成绩,根据E列划分的区间统计符合对应区间内的个数,把结果显示在G列橙色单元格中。 原数据 一,数据透视表法。(推荐) 上面介绍的frequercy函数很简单,但是对于不喜欢使用函数的...
  • 最近项目要对任务耗时进行统计,看看大部分任务用时在那个区间范围。如果自己做区间计数统计,即麻烦有不够灵活,有没有根据好的解决方案了? 解决方案 使用pandas可以灵活快速解决上面的问题,下面是demo代码 ...
  • 区间分组统计查询需要使用到 elt,interval 一、根据学生的分数段统计各个分数段的学生总数 create table class ( id int(11) not null auto_increment, score int(11) default 0, primary key(id) )engine=innodb ...
  • Lintcode 1667 区间统计

    2019-04-25 16:07:42
    1667.区间统计 CAT 专属题目 中文English 给定一个01数组arr和 一个整数k, 统计有多少区间符合如下条件: 区间的两个端点都为 0 (允许区间长度为1) 区间内 1 的个数不多于k 样例 样例 1: 输入: arr = [0, 0, ...
  • 想要用excel做个图表,就像下面这种,最好还能有区间中值我只会做图表你那种不会这种是:选中数据区>插入>>柱状图>二维,就出现了图表,然后右键图表空白处>选择数据,在弹出的对话框有两个”编辑...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 150,297
精华内容 60,118
关键字:

区间统计

友情链接: ieee guidelines.rar