You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Chao Long (Jira)" <ji...@apache.org> on 2020/04/21 03:45:00 UTC

[jira] [Updated] (KYLIN-4464) Query ... row_number over(order by c1) ... order by c2 ... get wrong order result

     [ https://issues.apache.org/jira/browse/KYLIN-4464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chao Long updated KYLIN-4464:
-----------------------------
    Fix Version/s:     (was: Future)
                   v2.6.6
                   v3.0.2

> 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
>            Priority: Major
>             Fix For: v3.0.2, v2.6.6
>
>         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)