我有一个关于使用" 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.应该怎么做?感谢
答案 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;