Mysql實作:select empno,ename,deptno,sal from emp where deptno=10 order by sal desc;
mysql max函數_Hive的分析函數的學習
如果要求是:将每個部門薪資最高的那個人的薪資顯示在最後一行。
select empno,ename,deptno,sal, max(sal) over(partition by deptno order by sal desc) as sal_max from emp;
mysql max函數_Hive的分析函數的學習
mysql max函數_Hive的分析函數的學習
我們看官網這個位置
mysql max函數_Hive的分析函數的學習
mysql max函數_Hive的分析函數的學習
我們來解釋裡面的概念
目前有一個資料
mysql max函數_Hive的分析函數的學習
CURRENT ROW
mysql max函數_Hive的分析函數的學習
UNBOUNDED PRECEDING 初始行
PRECEDING 前一行
CURRENT ROW 目前行
FOLLOWING 後一行
UNBOUNDED FOLLOWING 最後一行
mysql max函數_Hive的分析函數的學習
是以上面的語句我們變動下
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;
可以控制視窗大小
mysql max函數_Hive的分析函數的學習
結果是一樣的,但是視窗大小我們做了變化
mysql max函數_Hive的分析函數的學習
我們準備資料
mysql max函數_Hive的分析函數的學習
建立一個表
mysql max函數_Hive的分析函數的學習
mysql max函數_Hive的分析函數的學習
載入資料
load data local inpath '/data/hivetest/anal.txt' into table analytical;