Hive分组排序取topN的sql查询示例

Hive分组排序取topN的sql查询示例

要在Hive中实现分组排序并取每组的前N条记录,可以使用 ROW_NUMBER() 窗口函数结合 PARTITION BY 和 ORDER BY 子句。

以下是一个示例SQL查询,用于选择每个部门中工资最高的前3名员工:

c 复制代码
SELECT department, employee_id, employee_name, salary
FROM (
         SELECT
             department,
             employee_id,
             employee_name,
             salary,
             ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) as rn
         FROM employee
     ) ranked
WHERE rn <= 3;

在这个SQL查询中:

  • 内部查询根据工资降序为每个部门中的员工分配一个行号。
  • 外部查询将结果筛选为每个部门中的前3名员工(行号为1、2、3)。

您可以根据需要调整 rn <= 3 条件来选择不同数量的前N条记录。这个查询将为您提供每个分组中的前N条记录。

相关推荐
用户3610588626122 分钟前
SparkStreaming 之 Direct 模式并行度设置与 offset 管理
大数据·spark
润乾软件12 分钟前
SQLazy:合并有重叠的时间区间
数据库·sql·sqlazy
xiaoduo AI15 分钟前
抖音小店客服机器人哪个好?选择AI客服主要看哪些功能?
大数据·人工智能·机器人
BYSJMG18 分钟前
计算机毕业设计选题推荐|【基于大数据的植被光谱特征与环境因子关联分析及可视化】Spark+K-Means
大数据·python·信息可视化·数据分析·spark·kmeans·课程设计
拾光Ծ22 分钟前
【MySQL】复合查询、表的连接
java·数据库·sql·mysql
Ai思想家40 分钟前
一次模型调用会留下什么:聚合平台的日志留存与数据边界
大数据·服务器·网络·人工智能
亚古数据1 小时前
香港公司商业登记册内资料是什么?和商业登记证有何区别?跨境合作前必读
大数据
大力财经1 小时前
抖音生活服务品牌零售行业峰会在杭州举办,探索线下生意新增量
大数据·人工智能·区块链
code 小楊1 小时前
生产级 Agent 评测体系实战:从 12 指标框架到 CI/CD 质量门禁全链路落地
大数据·人工智能·ci/cd
姜穆澜1 小时前
OneID 从 0 到 1 完整生产案例( 六)
大数据