Martijn Visser created FLINK-34366:
--------------------------------------

             Summary: Add support to group rows by column ordinals
                 Key: FLINK-34366
                 URL: https://issues.apache.org/jira/browse/FLINK-34366
             Project: Flink
          Issue Type: New Feature
          Components: Table SQL / API
            Reporter: Martijn Visser


Reference: BigQuery 
https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#group_by_col_ordinals

The GROUP BY clause can refer to expression names in the SELECT list. The GROUP 
BY clause also allows ordinal references to expressions in the SELECT list, 
using integer values. 1 refers to the first value in the SELECT list, 2 the 
second, and so forth. The value list can combine ordinals and value names. The 
following queries are equivalent:

{code:sql}
WITH PlayerStats AS (
  SELECT 'Adams' as LastName, 'Noam' as FirstName, 3 as PointsScored UNION ALL
  SELECT 'Buchanan', 'Jie', 0 UNION ALL
  SELECT 'Coolidge', 'Kiran', 1 UNION ALL
  SELECT 'Adams', 'Noam', 4 UNION ALL
  SELECT 'Buchanan', 'Jie', 13)
SELECT SUM(PointsScored) AS total_points, LastName, FirstName
FROM PlayerStats
GROUP BY LastName, FirstName;

/*--------------+----------+-----------+
 | total_points | LastName | FirstName |
 +--------------+----------+-----------+
 | 7            | Adams    | Noam      |
 | 13           | Buchanan | Jie       |
 | 1            | Coolidge | Kiran     |
 +--------------+----------+-----------*/
{code}

{code:sql}
WITH PlayerStats AS (
  SELECT 'Adams' as LastName, 'Noam' as FirstName, 3 as PointsScored UNION ALL
  SELECT 'Buchanan', 'Jie', 0 UNION ALL
  SELECT 'Coolidge', 'Kiran', 1 UNION ALL
  SELECT 'Adams', 'Noam', 4 UNION ALL
  SELECT 'Buchanan', 'Jie', 13)
SELECT SUM(PointsScored) AS total_points, LastName, FirstName
FROM PlayerStats
GROUP BY 2, 3;

/*--------------+----------+-----------+
 | total_points | LastName | FirstName |
 +--------------+----------+-----------+
 | 7            | Adams    | Noam      |
 | 13           | Buchanan | Jie       |
 | 1            | Coolidge | Kiran     |
 +--------------+----------+-----------*/
{code}



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

Reply via email to