我正在尝试计算“作业”表中所有具有“已完成”状态的记录,不包括任何“修复它”或“空缺”作业类型的作业。这就是我正在使用的,但我不确定这是否给了我正确的结果:
SELECT id, client_id, COUNT(*) AS count FROM jobs
WHERE jobType != 'fix-it' AND jobType != 'vacancy' AND status = 'completed'
GROUP by jobs.client_id
然后我查看结果,看看我是否在给定的客户端下有两个或更多已完成的作业。
这看起来是否正确?
答案 0 :(得分:2)
您可以使用单个NOT IN
子句替换这两种作业类型的东西,以使事情更加清晰......
WHERE jobType NOT IN ('fix-it', 'vacancy') AND ...
否则看起来不错
答案 1 :(得分:0)
这适用于SQL Server,不确定MySql:
SELECT id, client_id, COUNT(*) AS count FROM jobs
WHERE jobType != 'fix-it' AND jobType != 'vacancy' AND status = 'completed'
GROUP by jobs.client_id
HAVING Count(*) > 1