mysql - 這個(gè)SQL哪不對(duì)
問(wèn)題描述
1.統(tǒng)計(jì)任務(wù)提交情況2.A(id,name)人員表,B(bid,aid, mission)任務(wù)提交記錄表,aid 對(duì)應(yīng)id,mission為字符串字段,一個(gè)人可提交多次任務(wù),示例數(shù)據(jù) id name 1 張三 2 李四 3 王五
bid aid mission1 1 xxxxx2 1 yyyyy3 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
這個(gè)if怎么不起作用的????本來(lái)最終想得到如下效果,那么SQL怎么寫(xiě)name 任務(wù)次數(shù)張三 2李四 1王五 0
問(wèn)題解答
回答1:這句親測(cè)成功
select A.name,sum(if(mission is not null,1,0)) as ’任務(wù)次數(shù)’ from A leftjion B on B.aid= A.id group by A.id order by A.id desc回答2:
SELECT NULL IS NULL, NULL IS NOT NULL, NULL = NULL, NULL <> NULL你分別跑下 你就知道為什么你的if不起作用了。
回答3:按照SQL規(guī)范,所有和NULL運(yùn)算的結(jié)果都是NULL,所以對(duì)NULL的判斷需要使用特殊的方法
1、IFNULL函數(shù)2、mission<>null 改為 mession is not null
相關(guān)文章:
1. Span標(biāo)簽2. css - 求推薦適用于vue2的框架 像bootstrap這種類(lèi)型的3. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題4. docker images顯示的鏡像過(guò)多,狗眼被亮瞎了,怎么辦?5. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””6. SessionNotFoundException:會(huì)話ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)7. java - Collections類(lèi)里的swap函數(shù),源碼為什么要新定義一個(gè)final的List型變量l指向傳入的list?8. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。9. redis啟動(dòng)有問(wèn)題?10. css - 關(guān)于div自適應(yīng)問(wèn)題,大家看圖吧,說(shuō)不清
