query count mysql返回0

wgmfuz8q  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(567)

我有一个关于使用“count”函数进行查询的问题。
我有一张table:学生(身份证、姓名、年龄、性别)
我将sql查询用作:

Select name, age, count(id) as NumberOf
from Student
where sex = 'Boy'
group by age, name

我的数据库:

1 | John  | 12 | Boy  | 
2 | Mary  | 13 | Girl |
3 | Alice | 15 | Girl |

我想找一些和男生年龄一样的学生,但还是回来了 Null . 我希望它返回0。你应该怎么做?谢谢

arknldoa

arknldoa1#

如果满足以下条件,则可以不使用:

select name, age, sum(sex='Boy') as NumberOf
 from student
 group by age, name;
mgdq6dx1

mgdq6dx12#

我想你想要这个:

select name, age, sum(if(sex='Boy',1,0)) as NumberOf
  from student
 group by age, name;

name    age NumberOf
John    12  1
Mary    13  0
Alice   15  0

p、 我故意把 sum 由于可能存在姓名和年龄的重复记录。

相关问题