给出下表员工(ec,姓名,代码,dob,薪水)
问:列出收入超过平均工资的工作人员
我的溶解. select* from staff where salary > avg(salary);
它有什么问题?
Rag*_*ull 20
聚合可能不会出现在WHERE子句中,除非它位于HAVING子句或选择列表中包含的子查询中,并且聚合的列是外部引用.
示例使用WHERE子句:
select *
from staff
where salary > (select avg(salary) from staff)
Run Code Online (Sandbox Code Playgroud)
示例使用HAVING子句:
select deptid,COUNT(*) as TotalCount
from staff
group by deptid
having count(*) > 2
Run Code Online (Sandbox Code Playgroud)
Having子句指定组或聚合的搜索条件.HAVING只能与SELECT声明一起使用.HAVING通常用在一个GROUP BY子句中.何时GROUP BY不使用,HAVING表现得像一个WHERE条款.
| 归档时间: |
|
| 查看次数: |
25149 次 |
| 最近记录: |