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
這句親測成功
SELECT NULL IS NULL, NULL IS NOT NULL, NULL = NULL, NULL NULL
你分別跑下來 你就知道為什麼你的if不起作用了。
依照SQL規範,所有和NULL運算的結果都是NULL,所以對NULL的判斷需要使用特殊的方法
1、IFNULL函數
2、missionnull 改為 mession is not null