有人能把这篇英语转换成SQL吗?我已经尝试了几种方法,但都没有成功。
person_id CASE WHEN COUNT(person_id) >3然后SELECT CASE end FROM table
我尝试只获取表中出现>3次的person_id。
发布于 2010-06-30 01:55:16
使用:
SELECT t.person_id
FROM TABLE t
GROUP BY t.personid
HAVING COUNT(t.personid) > 3在WHERE子句中,不能对使用聚合函数的派生列使用聚合函数或列别名。这些只能在HAVING子句中使用,这需要定义一个GROUP BY子句(如果它还不存在)。
我不建议在GROUP BY或HAVING子句中使用列别名-存在查询无法移植到其他数据库的风险。据我所知,SQL Server和MySQL是唯一支持GROUP BY或HAVING子句中的列别名的数据库。
发布于 2010-06-30 01:55:27
SELECT
person_id
FROM table
GROUP BY person_id
HAVING COUNT(*) > 3https://stackoverflow.com/questions/3143384
复制相似问题