apache/pinot

Cast with Alias is not recognized in group by

Closed

#14,590 opened on Dec 4, 2024

 (3 comments) (0 reactions) (0 assignees)Java (1,234 forks)batch import
bughelp wantedquerystale

Repository metrics

Stars
 (4,937 stars)
PR merge metrics
 (Avg merge 6d 7h) (186 merged PRs in 30d)

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