数据库语句问题


Mysql中表student_table(id,name,birth,sex),查询张姓、李姓的学生总人数,错误的是()?
 
A
select sum(case when name like '张%' then 1 else 0 end) as zhang_first_name ,
sum(case when name like '李%' then 1 else 0 end) as li_first_name
from
student_table;
B
select count(case when name like '张%' then 2 else null end) as zhang_first_name ,
count(case when name like '李%' then 2 else null end) as li_first_name
from
student_table;
C
select count(case when name like '张%' then 1 else 0 end) as zhang_first_name ,
count(case when name like '李%' then 2 else 0 end) as li_first_name
from
student_table;
D
select sum(case when name like '张%' then 1 else null end) as zhang_first_name ,
sum(case when name like '李%' then 1 else null end) as li_first_name
from
student_table;
错误的是c
因为AD均为sum函数,返回1则加一,返回0和不变,返回null和也不变,
B和C都是使用的count,返回无论是0,1,2都会加一,但是饭返回null不会加一,则B正确C是错的
posted @ 2024-03-23 17:45  一个小虎牙  阅读(10)  评论(0编辑  收藏  举报