oracle的rownum怎么转为hive
时间: 2023-09-11 08:05:54 浏览: 95
02.hive内置函数--窗口分析函数--row_number_over.mp4
在 Oracle 中,ROWNUM 是一个伪列,用于给每一行分配一个唯一的行号。而在 Hive 中,我们可以使用ROW_NUMBER()函数来实现类似的功能。
以下是将 Oracle 中的ROWNUM转换为Hive的示例:
Oracle:
```sql
SELECT *
FROM (
SELECT t.*, ROWNUM rnum
FROM mytable t
WHERE ROWNUM <= 100
)
WHERE rnum >= 90;
```
Hive:
```sql
SELECT *
FROM (
SELECT t.*, ROW_NUMBER() OVER () AS rnum
FROM mytable t
LIMIT 100
) t1
WHERE rnum >= 90;
```
其中,ROW_NUMBER() OVER() 表示在整个结果集中分配行号,LIMIT 100 表示只返回前100行数据。
阅读全文