🌿挑战100天不停更,刷爆 hive sql🧲
NUM:第2天 - 排名中取它值
详情请点击🔗我的专栏🖲,共同学习,一起进步~
文章目录
🧨不废话,刷题~~🧨
建表
-- 表名:t2
CREATE TABLE t2(a STRING,b string,c INT);
-- 表结构
INSERT INTO t2 values('2014','A',3),('2014','B',1),('2014','C',2),('2014','A',4),('2015','D',3);
DESCRIBE t2;
1)按a分组取b字段最小时对应的c字段
思路
通过子查询row_number() over(partition by a order by b)
从让a分组 取得b字段的升序结果,然后查出abc
结果,rn=1
为排名第一为最小
SQL
SELECT a,
c AS min_c
FROM
(SELECT a,
b,
c,
row_number() over(partition BY a ORDER BY b) AS