SQL选择计数(人员id)>;3来自

SQL选择计数(人员id)>;3来自,sql,database,aggregate-functions,having-clause,Sql,Database,Aggregate Functions,Having Clause,有人能把这个英语转换成SQL吗?我试过几种方法,但运气不好 当计数(人员id)>3时选择案例,然后从表中选择人员id结束 我试图只获取表中出现3次以上的人员id。使用: SELECT t.person_id FROM TABLE t GROUP BY t.personid HAVING COUNT(t.personid) > 3 在WHERE子句中,不能对使用聚合函数的派生列使用聚合函数或列别名。这些只能在HAVING子句中使用,这需要定义GROUPBY子句(如果它还不存

有人能把这个英语转换成SQL吗?我试过几种方法,但运气不好

当计数(人员id)>3时选择案例,然后从表中选择人员id结束

我试图只获取表中出现3次以上的人员id。

使用:

  SELECT t.person_id
    FROM TABLE t
GROUP BY t.personid
  HAVING COUNT(t.personid) > 3
在WHERE子句中,不能对使用聚合函数的派生列使用聚合函数或列别名。这些只能在HAVING子句中使用,这需要定义GROUPBY子句(如果它还不存在的话)

我不建议在GROUP BY中使用列别名,也不建议使用子句-存在查询无法移植到其他数据库的风险。据我所知,SQL Server和MySQL是唯一支持GROUP BY或HAVING子句中的列别名的数据库

SELECT
    person_id

FROM table

GROUP BY person_id

HAVING COUNT(*) > 3