gpt4 book ai didi

sql - 错误 1111 (HY000) : Invalid use of group function

转载 作者:可可西里 更新时间:2023-11-01 06:28:08 33 4
gpt4 key购买 nike

给定一个具有以下属性的员工表:

ec,name,code,dob,salary

列出收入高于平均工资的员工。

我的解决方案:

select* from staff where salary > avg(salary);

有什么问题吗?

最佳答案

聚合不能出现在 WHERE 子句中,除非它在包含在 HAVING 子句或选择列表中的子查询中,并且被聚合的列是外部引用。

使用 WHERE 子句的例子:

select *
from staff
where salary > (select avg(salary) from staff)

使用 HAVING 子句的例子:

select deptid,COUNT(*) as TotalCount
from staff
group by deptid
having count(*) > 2

Having 子句指定组或聚合的搜索条件。 HAVING 只能与 SELECT 语句一起使用。 HAVING 通常用在 GROUP BY 子句中。当未使用 GROUP BY 时,HAVING 的行为类似于 WHERE 子句。

关于sql - 错误 1111 (HY000) : Invalid use of group function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171977/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com