【发布时间】:2016-06-19 08:46:41
【问题描述】:
我试图理解这段代码的问题:
SELECT COUNT(CASE liveIn.state
WHEN ("NY" OR "NJ") THEN "group1"
WHEN ("NC" or "SC") THEN "group2"
END) AS state_groups
FROM (SELECT DISTINCT user_guid, state
FROM users
WHERE country="US" AND country IS NOT NULL) AS liveIn
GROUP BY state_groups;
我得到的错误是:“不能在 'state_groups' 上分组”
我有其他代码可以解决我的问题,看起来像这样(但我试图理解上面的问题):
SELECT COUNT(DISTINCT user_guid),
CASE
WHEN (state="NY" OR state="NJ") THEN "group1"
WHEN (state="NC" OR state="SC") THEN "group2"
END AS state_groups
FROM users
WHERE country="US" AND country IS NOT NULL
GROUP BY state_groups;
我的输出应该是这样的:
TKS!
P.S.-这是 coursera sql 学习课程的一部分,所以我正在研究 Jupyter。
【问题讨论】:
-
然后添加查询应该做什么,示例数据和预期输出
-
有什么问题?你有错误吗?结果错误?
-
您的问题到底是什么?你得到什么错误?您使用的是哪个 DBMS?您的表中有名为
NY或US的列吗?因为"NY"或"US"是SQL 中的列标识符。 -
我假设您想了解您在上面发布的 sql - 是这样吗?
-
一门课程教你
"US"是 SQL 中的有效字符串常量,不应该被信任。