gpt4 book ai didi

mysql - 拥有 count(*) MySQL

转载 作者:行者123 更新时间:2023-11-29 00:24:13 29 4
gpt4 key购买 nike

SELECT
dnum
, SUM(IF(salary>20000, 1, 0)) AS Employee
FROM project
INNER JOIN works_on
ON pno=pnumber
INNER JOIN employee
ON dno=dnum
GROUP BY dnum HAVING COUNT(*) >2

我首先要确定每个部门是否有超过 2 名员工,如果是,则获取部门编号和员 worker 数。但仅限于年收入高于 20,000 的人。

按照我的做法,其中一个部门显示正确的结果,但对其他部门显示完全错误的计数。例如,对于部门 4,它显示 18,但正确的计数应该只有 6。

最佳答案

使用WHERE salary > 20000代替,不需要使用CASE:

SELECT 
dnum,
COUNT(*) AS Employee
FROM project
INNER JOIN works_on ON pno = pnumber
INNER JOIN employee ON dno = dnum
WHERE salary > 20000
GROUP BY dnum
HAVING COUNT(*) >2;

如果有重复的数字,您可能还需要使用 COUNT (DISTINCT EmployeeNumber)

关于mysql - 拥有 count(*) MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19752182/

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