gpt4 book ai didi

SQL聚合函数子查询

转载 作者:行者123 更新时间:2023-12-01 23:24:53 25 4
gpt4 key购买 nike

我想要做的是计算子查询返回的行数,本质上如下:

select pp.prop_id, COUNT((select employee_id from employee e where e.ao1_hours > 0))
from proposal_piece pp

group by pp.prop_id
order by pp.prop_id

这是我的错误信息:
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.

为什么这不起作用?如果 select 只是返回一堆 employee_id's有过滤条件为什么我不能计算行数或 employee_id's正在返回?

我正在计算拥有 ao1_hours > 0 的不同员工的数量。 .按 prop 分组.

这是我的数据库的一些结构信息,作为查询的一部分。
    from proposal_piece pp
INNER JOIN employee e
on pp.employee_id = e.employee_id

谢谢!

最佳答案

尝试这个

select pp.prop_id, 
(select COUNT(employee_id)
from employee e
where e.ao1_hours > 0 and e.employee_id = pp.employee_id) as nb_employees
from proposal_piece pp
order by pp.prop_id

或这个
select pp.prop_id, count(e.employee_id) as nb_employees  
from proposal_piece pp inner join employee e
on pp.employee_id = e.employee_id
where e.ao1_hours > 0
group by pp.prop_id
order by pp.prop_id

关于SQL聚合函数子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11312401/

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