为什么此 SQL 给出列无法解析错误?

Ama*_*ian 3 mysql sql case

我正在尝试运行一个非常简单的CASE...WHEN语句:

SELECT userid, sum(end_time-start_time)/60 AS timespent_minutes, 
                    CASE WHEN webid = '324234' THEN 'CA'
                    ELSE 'Other' END AS storeloc
FROM time_spent_intervals
WHERE (ds = '2018-12-01')
GROUP BY userid, storeloc
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

错误:SYNTAX_ERROR
第 6:38 行:无法解析列“storeloc”

Gor*_*off 9

尝试重复以下表达式GROUP BY

SELECT userid, sum(end_time-start_time)/60 AS timespent_minutes, 
       (CASE WHEN webid = '324234' THEN 'CA' ELSE 'Other' END) AS storeloc
FROM time_spent_intervals
WHERE ds = '2018-12-01'
GROUP BY userid, (CASE WHEN webid = '324234' THEN 'CA' ELSE 'Other' END) ;
Run Code Online (Sandbox Code Playgroud)

尽管 MySQL 允许 的列别名GROUP BY,但并非所有数据库都这样做。我猜你并没有真正使用MySQL。