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

Julian Hyde updated CALCITE-5268:
---------------------------------
    Description: 
{{QUALIFY}} is to Window functions what {{HAVING}} is to {{GROUP BY}}.

For example:

{code}
SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY b ORDER BY c) as row_num
FROM t1
QUALIFY row_num = 1
{code}

Is the same as:
{code}
SELECT *
FROM (
    SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY b ORDER BY c) as row_num
    FROM t1)
WHERE row_num = 1
{code}


  was:
QUALIFY is to Window functions what HAVING is to GROUP BY

 

For example:

```

SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY b ORDER BY c) as row_num

FROM t1

QUALIFY row_num = 1

```



Is the same as:

```

SELECT *

FROM (

    SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY b ORDER BY c) as row_num

    FROM t1)

WHERE row_num = 1

```


> Add QUALIFY clause
> ------------------
>
>                 Key: CALCITE-5268
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5268
>             Project: Calcite
>          Issue Type: New Feature
>            Reporter: Brandon Chong
>            Priority: Major
>
> {{QUALIFY}} is to Window functions what {{HAVING}} is to {{GROUP BY}}.
> For example:
> {code}
> SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY b ORDER BY c) as row_num
> FROM t1
> QUALIFY row_num = 1
> {code}
> Is the same as:
> {code}
> SELECT *
> FROM (
>     SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY b ORDER BY c) as row_num
>     FROM t1)
> WHERE row_num = 1
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to