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)

Reply via email to