我有一个这样的数据库:

id  name   job   payment
1   susan  job1  no
2   rob    job2  no
3   mike   job3  yes
4   bob    job2  yes


我需要按职位分组的人数,但前提是他们的薪水是可以的。
我做了这样的事情:

SELECT job, count(*) AS job FROM database GROUP BY job


结果是同一工作人员的人数,但我不知道如何检查另一栏(薪水),只有在“是”的情况下才可以计数。

希望你能帮助我,谢谢

最佳答案

您可以使用SUM和条件:

SELECT job, SUM(payment = 'yes') AS job_cnt
FROM database
GROUP BY job;


DBFiddle Demo

输出:

┌───────┬─────────┐
│ job   │ job_cnt │
├───────┼─────────┤
│ job1  │       0 │
│ job2  │       1 │
│ job3  │       1 │
└───────┴─────────┘

07-24 13:04