我们先准备数据库、表和数据

开窗分析函数相对于mysql中的聚合函数区别是:分析函数是基于某个组多个数据进行计算聚合,而聚合函数是每个组返回一行数据。

官网

我们先做个例子感受下:

要求: 查询部门编号为10的所有的员工,按照薪资降序排序

Mysql实现:select empno,ename,deptno,sal from emp where deptno=10 order by sal desc;

如果要求是:将每个部门薪资最高的那个人的薪资显示在最后一行。

select empno,ename,deptno,sal, max(sal) over(partition by deptno order by sal desc) as sal_max from emp;

我们看官网这个位置

我们来解释里面的概念

当前有一个数据

CURRENT ROW

UNBOUNDED PRECEDING 初始行

PRECEDING 前一行

CURRENT ROW 当前行

FOLLOWING 后一行

UNBOUNDED FOLLOWING 最后一行

所以上面的语句我们变动下

select empno,ename,deptno,sal, max(sal) over(partition by deptno order by sal desc ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as sal_max from emp;

可以控制窗口大小

结果是一样的,但是窗口大小我们做了变化

我们准备数据

创建一个表

载入数据

load data local inpath '/data/hivetest/anal.txt' into table analytical;

语句1:

我们看结果

语句2

语句3

语句4

语句5

语句6

已上是窗口和基本语句的使用。

我们来看ROW_NUMBER

将每个部门薪资最高的那个人的薪资降序排序并且显示唯一的编号ROW_NUMBER

获取每个部门薪资最高的前两位(嵌套子查询)

hive分析函数取最新_Hive的分析函数的学习相关推荐

  1. hive UDF函数取最新分区

    hive UDF函数取最新分区 1.pom文件 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.hi ...

  2. oracle上浮下浮分析函数_Oracle SQL高级编程——分析函数(窗口函数)全面讲解...

    Oracle SQL高级编程--分析函数(窗口函数)全面讲解 概述 分析函数是以一定的方法在一个与当前行相关的结果子集中进行计算,也称为窗口函数. 一般结构为 Function(arg1 , arg2 ...

  3. 让 fork 出来的 Github 仓库从远端仓库拖取最新的修改

    标准的 Spartacus repo:https://github.com/SAP/spartacus 我 fork 了一个自己的仓库: https://github.com/wangzixi-dia ...

  4. MySQL去重保留最大的那条记录(取最新的记录)

    以用户登录日志表为例,取用户最近登录的设备 1 SET NAMES utf8mb4;2 SET FOREIGN_KEY_CHECKS = 0;3 4 -- ---------------------- ...

  5. mysql分组分批_[Mysql]分组取最新一条

    我有如下这张表的数据,需要根据mobile电话号码分组,每条电话取最新的数据 方案1: SELECT * from (SELECT * from model_online_forecastscore_ ...

  6. 如何分组取最新的数据

    今天有个朋友问我:mysql 根据某个id进行分组,每个分组按时间排序取最新的一条记录,除了使用row_number函数,是否还有其他方法? 其实这是个老生常谈的问题了 ,并且会经常出现在各种面试题中 ...

  7. oracle针对多数据只取最新一条的sql

    业务场景: 在针对某个类型数据存在多条时,但只想取最新的一条.在可以确定时哪种类型时我们使用简单sql就可以解决. 如: select * from ( select * from t_table a ...

  8. java爬虫系列第二讲-爬取最新动作电影《海王》迅雷下载地址

    为什么80%的码农都做不了架构师?>>>    1. 目标 使用webmagic爬取动作电影列表信息 爬取电影**<海王>**详细信息[电影名称.电影迅雷下载地址列表] ...

  9. 1对多 只取一条 mysql_MySQL 多表关联一对多查询实现取最新一条数据的方法示例...

    本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法.分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据, ...

最新文章

  1. java selenium iframe_如何使用java在Selenium WebDriver中处理iframe
  2. python中match方法返回字符串的长度_Python re模块与正则表达式详解
  3. mysql select查询语句_mysql的select查询语句
  4. html模块殃射,【Web前端问题】webpack打包后,module模块中的函数无法在html标签的事件中调用?...
  5. 用VC写Assembly代码(7)--在Visual C++中使用内联汇编
  6. 对不起,我不接私活了
  7. 后台MemoryStream图片流用ajax接收乱码问题
  8. ASP数据库连接方式大全
  9. 缓存服务的更新策略有哪些?
  10. ASP.NET AJAX客户端编程之旅(一)——Hello!ASP.NET AJAX
  11. 大一c语言期末大作业,大一期末C语言大作业—结构体和链表框架
  12. raspberry ubuntu 修改源为清华_在Windows7基础上安装Ubuntu系统,实现双系统操作
  13. SECS/GSM 测试工具
  14. c++ 中 setw()函数
  15. 云服务器ECS的基本概念
  16. 关于信息增益(information gain)
  17. linux 查找某个程序,Linux查找特定程序whereis实例详解
  18. fuse的安装与使用
  19. python class函数报错_24 【python入门指南】class
  20. 【Multisim 14.0】软件安装教程

热门文章

  1. opencv 模板匹配,在图像中寻找物体
  2. python命令行解析库——argparse库的使用
  3. 数量场的等值面与矢量场的矢量线的一些基本的东西(写得不好)
  4. 关于 min_25 筛的入门以及复杂度证明
  5. 转载 用Python实现设计模式——工厂模式
  6. 谈谈为什么要系统学习算法-开复的一篇文章
  7. 2016-Fiddler
  8. 解决jupyter notebook输出显示不完整问题
  9. [转载] Python round四舍五入精度缺失的解决
  10. [转载] python 字典的get()pop()方法的区别