前言
??
hive執(zhí)行l(wèi)imit語句報(bào)錯(cuò),分頁(yè)失敗
1. 支持limit m-1, n語法的hive版本
SELECT * FROM 表名 LIMIT n; //檢索前 n 個(gè)記錄行
SELECT * FROM 表名 LIMIT m-1, n; //檢索 m行 到 m+n行
如:
2. 不支持limit m-1, n語法,使用row_number()函數(shù)
2.1 row_number()的使用
??(1)按照deptno分組,不排序
select *, row_number()over(partition by deptno) from emp;
??(2)按照empno進(jìn)行排序,不分組,排序列命名rownum
select * ,row_number() over (order by empno) as rownum from emp;
??(3)按照empno排序,同時(shí)根據(jù)deptno進(jìn)行分組
select * ,row_number() over (partition by deptno order by empno) as rownum from emp;
2.2 分頁(yè)
??從原表中查詢第6到第10行數(shù)據(jù)
select * from (select * ,row_number() over () as rownum from emp) t where t.rownum between 6 and 10;
注:文章來源:http://www.zghlxwxcb.cn/news/detail-404759.html
??row_number最好寫一個(gè)臨時(shí)表
,不然每次都排序很耗性能文章來源地址http://www.zghlxwxcb.cn/news/detail-404759.html
到了這里,關(guān)于hive limit分頁(yè)查詢、row_number()分頁(yè)查詢的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!