apache/pinot

Cast with Alias is not recognized in group by

Open

#14590 opened on Dec 4, 2024

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Java (4,937 stars) (1,234 forks)batch import
bughelp wantedquerystale

Description

Sampe query:

SELECT 
    CAST(DATE_TRUNC('day', CAST(DATETIMECONVERT(ts, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '1:MILLISECONDS') AS TIMESTAMP)) AS TIMESTAMP) AS day_epoch_ms,
    sum(met) AS "sumMet"
FROM mytable
GROUP BY 
    CAST(DATE_TRUNC('day', CAST(DATETIMECONVERT(ts, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '1:MILLISECONDS') AS TIMESTAMP)) AS TIMESTAMP)
ORDER BY 
    sum(met) DESC
LIMIT 10000;

Exception:

Error: {'errorCode': 150,
 'message': 'SQLParsingError:\n'
            'org.apache.pinot.sql.parsers.SqlCompilationException: '
            "'as(cast(datetrunc('day', cast(datetimeconvert(ts, "
            "'1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', "
            "'1:MILLISECONDS'), 'TIMESTAMP')), 'TIMESTAMP'), day_epoch_ms)' should "
            'appear in GROUP BY clause.\n'

Contributor guide