分析函数——NTILE(n)_cuituancheng9378的博客-程序员资料

技术标签: r语言  

有时会有这样的需求:如果数据排序后分为三部分,业务人员只关心其中的一部分,如何将这中间的三分之一数据拿出来呢?

这时比较好的选择,就是使用NTILE函数

例:
SQL> select
  2     dept_id
  3    ,sale_date
  4    ,goods_type
  5    ,sale_cnt
  6    ,ntile(3) over (order by sale_cnt desc nulls last)  all_cmp
  7    ,ntile(3) over (partition by dept_id order by sale_cnt desc nulls last) all_dept
  8  from criss_sales
  9  ;
 
DEPT_ID SALE_DATE   GOODS_TYPE    SALE_CNT    ALL_CMP   ALL_DEPT
------- ----------- ---------- ----------- ---------- ----------
D02     2014/5/2    G03                900          1          1
D01     2014/4/30   G03                800          1          1
D01     2014/3/4    G00                700          1          1
D02     2014/3/6    G00                500          2          1
D02     2014/4/27   G01                300          2          2
D01     2014/4/8    G01                200          2          2
D02     2014/4/8    G02                100          3          3
D01     2014/5/4    G02                 80          3          2
D01     2014/6/12   G01                             3          3

可以看到,Ntile函数为各个记录在记录集中的排名计算比例,返回每条记录所在集合比例位置的值。

例如我们关心全公司前三分之一部分的数据,只需选择 ALL_CMP = 1 的数据就可以了
    如果只是关心 全公司中间的三分之一 数据, 只需选择 ALL_CMP = 2 的数据就可以了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28929558/viewspace-1181432/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28929558/viewspace-1181432/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cuituancheng9378/article/details/100497479

智能推荐

Day12-基于ListView、GridView、Spinner的Android实例_阿杰杰杰のblog的博客-程序员资料

Day12-基于ListView、GridView、Spinner的Android实例文章目录文章目录Day12-基于ListView、GridView、Spinner的Android实例文章目录题目先看运行效果一、开发主页面MainActivity1.创建New Project项目2. 编写主页MainActivity.java,代码如下:3.编写布局文件activity_main.xml二、开发LIstViewActivity1.新建一个空的activity模块,名为LIstViewActivity

部分网页打不开,有的浏览器连不上网的解决办法之一_wyi06的博客-程序员资料_为什么浏览器打开几个网页后就连不上网了

不知从什么时候开始电脑网络不好,今年寒假,4月份,现在每一次我都以为是电脑系统坏了,win10系统出问题了,电脑中病毒了。采取的措施是重装系统,百度,重装系统……今天偶然翻到已经残破的电脑说明书和一张光盘,以为光盘里是系统,就网上搜了光盘装系统的教程,然而发现里面并不是系统但却找到另一种办法,准确说我并不知道问题出在哪里了,但是我去华硕官网上下载了一个驱动装上就好了。具体出现的问题

Arch Linux 休眠到文件_weixin_33933118的博客-程序员资料

创建文件:# fallocate -l 4G /swapfile# chmod 600 /swapfile# mkswap /swapfile# swapon /swapfile编辑/etc/fstab文件。添加:/swapfile none swap defaults 0 0编辑/etc/mkinitcpio.conf文件:HOOKS="... block lvm2 resu...

HTML常用特殊字符_weixin_30614587的博客-程序员资料

网页特殊符号HTML代码大全HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字。下面就是以字母或数字表示的特殊符号大全。´´©&...

Semi-dense SLAM安装及运行_Escape_X1n的博客-程序员资料

1.安装依赖sudo apt-get install libblas-dev liblapack-dev liblapacke-devCGAL:sudo apt-get install libcgal-dev sudo apt-get install libcgal-qt5-devsudo apt-get remove libcgal-devBoost:sudo apt-get in...

什么是计算机嵌套分类汇总,Excel中插入分类汇总的嵌套级别的方法图解详细教程..._Hasaki酱的博客-程序员资料

在上文我们讲解了Excel 2010工作表中为一组数据插入一个分类汇总级别的方法,本文则讲解了Excel 2010工作表中插入分类汇总的嵌套级别的方法。Excel 2010工作表中可以在相应的外部组中为内部嵌套组插入分类汇总,如下例所示。Excel 2010工作表中插入分类汇总的嵌套级别的方法一、每次在外部组中更改时,地区列。二、对该地区的销售额进行分类汇总,每次在内部组中更改时,运动列对销售额进...

随便推点

Cstring用法_mader的博客-程序员资料_cstring 去掉开头首字母

CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。   使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,但囊括了大部分常见基本问题。 这篇文章包括以下内容: C

linux学习之四---gdb调试_lanzhihui_的博客-程序员资料

在Linux应用程序开发中,最常用的调试器是gdb。一、启动和退出gdbgdb调试的对象是可执行文件,而不是程序的源代码。如果要使一个可执行文件可以被gdb调试,那么使用编译器gcc编译时需要加入-g选项,-g选项告诉gcc在编译时加入调试信息,这样gdb才可以调试这个被编译的程序。1.编译test.c源程序gcc -g test.c -o test./testte

TypeScript对象的类型——接口_呼呼哥的博客-程序员资料_typescript 接口 property 'phone' of type 'number | u

---在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型。--->什么是接口在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implements)。TypeScript 中的接口是一个非常灵活的概念,除了可用于[对类的一部分行为进行抽象](https://www.jianshu...

Can't load IA 32-bit .dll on a AMD 64-bit platform解决办法_技术小萌新的博客-程序员资料

警告: The APR based Apache Tomcat Native library failed to load. The error reported was [C:\Windows\System32\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform]java.lang.UnsatisfiedLinkE...

MapReduce: 一个巨大的倒退MapReduce: A major step backwards_维博的博客-程序员资料

MapReduce: A major step backwards 注:作者是 David J. DeWitt 和 Michael Stonebraker On January 8, a Database Column reader asked for our views on new distributed database research efforts, and we'll

MySQL的ifnull()函数解决判空问题_Angelo0504的博客-程序员资料_mysql ifnull('0','0')='0

问题:mybatis返回的null类型数据消失,导致前端展示出错思路:如果查询出的结果是空值,应当转换成空字符串。当然在前端也能进行判断,但要求后台实现这个功能。解决方案:  使用如下方法查询:  SELECT IFNULL(sex,'') AS sex FROM user --如果查询到这个sex为null值,那么就赋值成空字符串  不过,如果查询语句本身为null,那么返...

推荐文章

热门文章

相关标签