查询计数Mysql返回0

时间:2018-06-10 12:44:32

标签: mysql sql linq

我有一个关于使用" Count"功能

我有一张桌子:学生(身份证,姓名,年龄,性别)

我使用sql查询:

  public static void push(Word input) {
    stack[size] = input;
    size++;
  }

和我的数据库:

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 | 。我希望它返回0.应该怎么做?感谢

2 个答案:

答案 0 :(得分:0)

我想你想要这个:

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.S。由于存在名称年龄的重复记录的可能性,我故意将sum置于其中。

答案 1 :(得分:0)

您可以在不使用if:

的情况下执行此操作
 select name, age, sum(sex='Boy') as NumberOf
 from student
 group by age, name;