Chao Long created KYLIN-4464: -------------------------------- Summary: Query ... row_number over(order by c1) ... order by c2 ... get wrong order result Key: KYLIN-4464 URL: https://issues.apache.org/jira/browse/KYLIN-4464 Project: Kylin Issue Type: Bug Components: Query Engine Reporter: Chao Long Assignee: Chao Long Fix For: Future Attachments: image-2020-04-20-18-19-40-925.png, image-2020-04-20-18-22-34-765.png
*SQL* {code:java} select t.*, row_number() over (order by t.lstg_format_name) as row_num from ( select lstg_format_name, sum(price) as GMV from KYLIN_SALES where lstg_format_name is not null group by lstg_format_name ) as t order by t.GMV desc limit 5{quote} {code} *Kylin result (order by lstg_format_name)* !image-2020-04-20-18-19-40-925.png! *Calcite execution plan* {code:java} EXECUTION PLAN BEFORE REWRITE OLAPToEnumerableConverter OLAPWindowRel(window#0=[window(partition {} order by [0 DESC] rows between UNBOUNDED PRECEDING and CURRENT ROW aggs [ROW_NUMBER()])], ctx=[], groups=[[window(partition {} order by [0 DESC] rows between UNBOUNDED PRECEDING and CURRENT ROW aggs [ROW_NUMBER()])]]) OLAPLimitRel(ctx=[], fetch=[50000]) OLAPSortRel(sort0=[$1], dir0=[DESC], ctx=[]) OLAPAggregateRel(group=[{0}], GMV=[SUM($1)], ctx=[]) OLAPProjectRel(LSTG_FORMAT_NAME=[$2], PRICE=[$5], ctx=[]) OLAPFilterRel(condition=[IS NOT NULL($2)], ctx=[]) OLAPTableScan(table=[[DEFAULT, KYLIN_SALES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]) {code} *Hive result(order by GMV)* !image-2020-04-20-18-22-34-765.png! -- This message was sent by Atlassian Jira (v8.3.4#803005)