Mysql sql只想在另一列正常的情况下对一列进行计数
我有这样一个数据库:Mysql sql只想在另一列正常的情况下对一列进行计数,mysql,count,Mysql,Count,我有这样一个数据库: 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 我需要得到的人数组的工作,但只有当他们有是在付款。 我做过这样的事情: id name job payment 1 susan job
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
我需要得到的人数组的工作,但只有当他们有是在付款。
我做过这样的事情:
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;
输出:
┌───────┬─────────┐
│ job │ job_cnt │
├───────┼─────────┤
│ job1 │ 0 │
│ job2 │ 1 │
│ job3 │ 1 │
└───────┴─────────┘
您可以简单地使用where子句,如下所示
SELECT job, count(*) AS job
FROM database
WHERE payment="yes"
GROUP BY job
where payment=“yes”
?@Chefuss。您希望结果集看起来像什么?请编辑问题并将其显示为表格。谢谢卢卡斯!!你不到一秒钟就解决了我所有的问题!!非常感谢。这真是太好了@切福斯很高兴我能帮忙。请阅读