Hive row_number 生成行号

作者:技术拾光

时间:2026-06-25

浏览:82

在Hive中使用ROW_NUMBER()生成行号 在Hive中,使用ROW_NUMBER()窗口函数来生成行号,其实是一个很常见的需求。简单来说,它就是给查询结果里的每一行打上一个唯一的序号——类似于Excel里给表格加的行号,但比那个灵活不少。 基本用法 操作起来直接复制下面这段代码就行: SEL

文章目录

在Hive中使用ROW_NUMBER()生成行号

在Hive中,使用ROW_NUMBER()窗口函数来生成行号,其实是一个很常见的需求。简单来说,它就是给查询结果里的每一行打上一个唯一的序号——类似于Excel里给表格加的行号,但比那个灵活不少。

Hive row_number 生成行号

基本用法

操作起来直接复制下面这段代码就行:

SELECT column1, column2, ROW_NUMBER() OVER (ORDER BY column1 ASC) as row_numberFROM your_table;

这里的关键在于OVER (ORDER BY column1 ASC)部分。它告诉Hive:先按column1升序排好队,然后从1开始依次给每一行编号。当然,如果你想让编号从大到小倒着来,或者换一列来排序,只需要把ASC改成DESC,或者把column1换成其他字段名称就行。

注意事项

另外要注意一点:ROW_NUMBER()生成的编号是唯一的、连续的,不会因为排序字段的值重复而出现相同编号——这点和RANK()、DENSE_RANK()有区别。如果你需要处理重复值的情况,可以试试后面那两个函数,不过那是另一个话题了。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›