1.统计任务提交情况
2.A(id,name)人员表,B(bid,aid, mission)任务提交记录表,aid 对应id,mission为字符串字段,一个人可提交多次任务,示例数据
 id    name
 1    张三
 2    李四
 3    王五
bid  aid mission
1    1    xxxxx
2    1    yyyyy
3    2    zzzz
sql:  select A.name,if(mission<>null,1,0) as mnum  from A leftjion B on B.aid= A.id  orderby id
得到是
name    mnum
张三    0
张三    0
李四    0
王五    0
本来最终想得到如下效果,那么SQL怎么写
name    任务次数
张三    2
李四    1
王五    0
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这句亲测成功
SELECT NULL IS NULL, NULL IS NOT NULL, NULL = NULL, NULL <> NULL
你分别跑下 你就知道为什么你的if不起作用了。
按照SQL规范,所有和NULL运算的结果都是NULL,所以对NULL的判断需要使用特殊的方法
1、IFNULL函数
2、mission<>null 改为 mession is not null