请不要为此而咬我,但是我是mysql的新手,在WHERE子句中使用笔名存在一些问题。我认为可以将笔名用于select语句中定义的聚合函数。
这是我的查询
SELECT a.name, s.name, COUNT(e.id) as total FROM athletes a
INNER JOIN sports s on s.id = a.sport_id
INNER JOIN events e on s.id = e.sport_id
WHERE total >=2 GROUP BY a.name
但是,我遇到了一个错误“ WHERE子句中的未知列总数”。
有人可以告诉我是否可以执行这样的查询吗?
最佳答案
您不能在where子句中使用别名。您需要在having
中使用它
SELECT
a.name,
s.name,
COUNT(e.id) as total FROM athletes a
INNER JOIN sports s on s.id = a.sport_id
INNER JOIN events e on s.id = e.sport_id
GROUP BY a.name having total >=2
关于mysql - 在MYSQL查询的WHERE子句中使用化名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30210755/