<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                **1. `order by`特點** (1)因為只使用一個reducer執行,所以<mark>全局有序</mark>; (2)當輸入規模較大時,需要較長的計算時間,應提前做好數據過濾; (3)支持使用`case when`,或表達式; (4)支持按位置編號排序,設置`set hive.groupby.orderby.position.alias=true;`,默認就是`true`; **2. 基本語法** ```sql -- order by 放在select語句的末尾 select * from table_name ... order by col_name, col_name, ... [asc(升序,默認)|desc(降序)] ``` **3. `order by`使用示例** ```sql -- 查詢員工,按sal升序排序 select * from emp order by sal; +------------+------------+------------+----------+---------------+----------+-----------+-------------+--+ | emp.empno | emp.ename | emp.job | emp.mgr | emp.hiredate | emp.sal | emp.comm | emp.deptno | +------------+------------+------------+----------+---------------+----------+-----------+-------------+--+ | 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.0 | NULL | 20 | | 7900 | JAMES | CLERK | 7698 | 1981-12-3 | 950.0 | NULL | 30 | | 7876 | ADAMS | CLERK | 7788 | 1987-5-23 | 1100.0 | NULL | 20 | | 7521 | WARD | SALESMAN | 7698 | 1981-2-22 | 1250.0 | 500.0 | 30 | -- 查詢員工,按sal降序排序 select * from emp order by sal desc; +------------+------------+------------+----------+---------------+----------+-----------+-------------+--+ | emp.empno | emp.ename | emp.job | emp.mgr | emp.hiredate | emp.sal | emp.comm | emp.deptno | +------------+------------+------------+----------+---------------+----------+-----------+-------------+--+ | 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.0 | NULL | 10 | | 7902 | FORD | ANALYST | 7566 | 1981-12-3 | 3000.0 | NULL | 20 | | 7788 | SCOTT | ANALYST | 7566 | 1987-4-19 | 3000.0 | NULL | 20 | | 7566 | JONES | MANAGER | 7839 | 1981-4-2 | 2975.0 | NULL | 20 | -- 使用列的別名來做排序 select ename, sal*2 twosal from emp order by twosal; +---------+----------+--+ | ename | twosal | +---------+----------+--+ | SMITH | 1600.0 | | JAMES | 1900.0 | | ADAMS | 2200.0 | | WARD | 2500.0 | -- 多列排序 -- 先按照deptno排序,再按照sal排序 select ename, deptno, sal from emp order by deptno, sal; +---------+---------+---------+--+ | ename | deptno | sal | +---------+---------+---------+--+ | MILLER | 10 | 1300.0 | | CLARK | 10 | 2450.0 | | KING | 10 | 5000.0 | | SMITH | 20 | 800.0 | | ADAMS | 20 | 1100.0 | | JONES | 20 | 2975.0 | | SCOTT | 20 | 3000.0 | | FORD | 20 | 3000.0 | -- 按照位置編號進行排序 -- 按照第3列進行降序排序 select * from left_tbl order by 3 desc; +--------------+----------------+---------------+--+ | left_tbl.id | left_tbl.name | left_tbl.age | +--------------+----------------+---------------+--+ | 3 | 王五 | 25 | | 2 | 李四 | 22 | | 1 | 張三 | 20 | +--------------+----------------+---------------+--+ -- 使用case when,很少使用,暫時不知道什么效果 select * from left_tbl order by case when id>2 then 1 else 0 end; ``` **4. `hive.mapred.mode`屬性**: ```sql -- 如果為nonstrict,默認,limit是可選的 0: jdbc:hive2://hadoop101:10000> set hive.mapred.mode=nostrict; select * from emp order by sal; -- 如果為strict,limit是必選的 0: jdbc:hive2://hadoop101:10000> set hive.mapred.mode=strict; select * from emp order by sal limit 5; ``` 這是因為在`order by`狀態下所有的數據會在一臺服務器進行reduce操作,即只有一臺reduce在工作,如果在數據量大的情況下會出現無法輸出的情況,如果進行`limit n`,則有`n * map number`條記錄傳入到reduce端,即使只有一個reduce也能夠處理過來。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看