SQL语法问题(选择问题?)

时间:2017-01-30 04:03:14

标签: sql sqlite

我目前正在尝试在数据集上运行以下代码

SELECT m.FirstName, m.LastName
FROM Master as m INNER JOIN AllStar as a
ON m.LastName = a.LastName AND m.College = "California"
GROUP BY m.LastName 
HAVING COUNT(a.GamesPlayed) > 2;

但是我收到了错误

  

没有这样的专栏:"加利福尼亚"

为什么我会尝试将列值与字符串" California"?进行比较?

我基本上试图找到参与所有明星的所有篮球运动员> 3次,来自Cal进行硬件分配但我的TA没有回复我: - (

提前致谢!

1 个答案:

答案 0 :(得分:4)

双引号用于identifiers,这就是California字符串被视为列名的原因。对于字符串文字,请使用单引号

当您使用Group by时,Group By子句中应包含所有非聚合

SELECT m.FirstName, m.LastName
FROM Master as m INNER JOIN AllStar as a
ON m.LastName = a.LastName AND m.College = 'California'
GROUP BY m.FirstName,m.LastName  -- Missing FirstName here
HAVING COUNT(a.GamesPlayed) > 2;