[TOC] # SORT SORT 算子用于对输入的数据进行排序。 示例:对 t1 表的数据排序,并按照 c1 列降序排列和 c2 列升序排列 ~~~ obclient>CREATE TABLE t1(c1 INT, c2 INT); Query OK, 0 rows affected (0.12 sec) obclient>CREATE TABLE t2(c1 INT, c2 INT); Query OK, 0 rows affected (0.12 sec) obclient>EXPLAIN SELECT c1 FROM t1 ORDER BY c1 DESC, c2 ASC\G; *************************** 1. row *************************** Query Plan: ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |SORT | |3 |40 | |1 | TABLE SCAN|t1 |3 |37 | ==================================== Outputs & filters: ------------------------------------- 0 - output([t1.c1]), filter(nil), sort_keys([t1.c1, DESC], [t1.c2, ASC]) 1 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0) ~~~ 上述示例中,执行计划展示中 0 号算子 SORT 对 t1 表的数据进行排序,执行计划展示中的 outputs & filters 详细展示了 SORT 算子的输出信息如下: <table data-tag="table" id="table-y27-h2g-o6w" class="table"><colgroup width="240" span="1" data-tag="col" id="col-08o-t6h-plz" colwidth="1*" colnum="1" colname="col1" style="width:50%" class="col"></colgroup><colgroup width="505" span="1" data-tag="col" id="col-zzo-r24-wkh" colwidth="1*" colnum="2" colname="col2" style="width:50%" class="col"></colgroup><thead id="thead-05t-mqi-3n7" class="thead"><tr id="tr-mze-p82-sn9"><th id="td-hsv-ehr-bhh"><p id="p-j0k-org-ftr"><b>信息名称</b></p></th><th id="td-gb2-t57-ayc"><p id="p-zai-qh3-0zu"><b>含义</b></p></th></tr></thead><tbody data-tag="tbody" id="tbody-thp-pvb-yfl" class="tbody"><tr data-tag="tr" id="tr-tg4-6zl-2f4" class="tr"><td data-tag="td" id="td-djj-ydg-roe" class="td"><p data-tag="p" id="p-exr-o3g-j57" class="p">output </p></td><td data-tag="td" id="td-ey4-8gc-f7n" class="td"><p id="p-89a-md7-l7s">该算子的输出列。</p></td></tr><tr data-tag="tr" id="tr-caw-fb6-xgo" class="tr"><td id="td-0nw-si2-mc3"><p id="p-6yg-zce-lxg">filter</p></td><td id="td-eff-4ec-3ha"><p id="p-kr9-vi6-u4i">该算子的过滤谓词。</p><p id="p-isd-9kb-spd">由于示例中 SORT 算子没有设置 filter,所以为 nil。</p></td></tr><tr data-tag="tr" id="tr-uw7-3bd-dlx" class="tr"><td id="td-joi-on8-zh4"><p id="p-eca-m5u-k6s">sort_keys([column, DESC],[column, ASC] ...)</p></td><td id="td-6kq-qqt-rs6"><p id="p-an9-kxc-89f">按 column 列排序。</p><ul id="ul-4bf-kal-vw5"><li id="li-ujn-vdu-7aj"><p data-tag="p" id="p-muo-cbr-yga" class="p">DESC:降序。</p></li><li id="li-hui-wde-qss"><p data-tag="p" id="p-7nd-5z5-fgr" class="p">ASC:升序。</p></li></ul><p data-tag="p" id="p-45j-yzk-0ci" class="p">例如,<code data-tag="code" class="code">sort_keys([t1.c1, DESC],[t1.c2, ASC])</code>中指定排序键分别为 c1 和 c2,并且以 c1 列降序, c2 列升序排列。</p></td></tr></tbody></table>