0

我正在尝试计算我的“工作”表中具有“已完成”状态的所有记录,不包括任何“修复”或“空缺”工作类型的工作。这是我正在使用的,但我不确定这是否给了我正确的结果:

SELECT id, client_id, COUNT(*) AS count FROM jobs 
WHERE jobType != 'fix-it' AND jobType != 'vacancy' AND status = 'completed' 
GROUP by jobs.client_id

然后,我查看结果以查看我是否在给定客户下完成了两个或更多工作。

这看起来正确吗?

4

2 回答 2

2

您可以用一个NOT IN子句替换两个作业类型的内容,以使内容更清晰......

WHERE jobType NOT IN ('fix-it', 'vacancy') AND ...

否则看起来没问题

于 2012-09-10T20:26:05.850 回答
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
于 2012-09-10T20:25:32.137 回答