mysql - 這個SQL哪不對
問題描述
1.統(tǒng)計任務(wù)提交情況2.A(id,name)人員表,B(bid,aid, mission)任務(wù)提交記錄表,aid 對應(yīng)id,mission為字符串字段,一個人可提交多次任務(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
這個if怎么不起作用的????本來最終想得到如下效果,那么SQL怎么寫name 任務(wù)次數(shù)張三 2李四 1王五 0
問題解答
回答1:這句親測成功
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運算的結(jié)果都是NULL,所以對NULL的判斷需要使用特殊的方法
1、IFNULL函數(shù)2、mission<>null 改為 mession is not null
相關(guān)文章:
1. 為什么我ping不通我的docker容器呢???2. 服務(wù)器端 - 采用nginx做web服務(wù)器,C++開發(fā)應(yīng)用程序 出現(xiàn)拒絕連接請求?3. java - 自己制作一個視頻播放器,遇到問題,用的是內(nèi)置surfaceview類,具體看代碼!4. javascript - 有什么兼容性比較好的辦法來判斷瀏覽器窗口的類型?5. javascript - vue 移動端的input 數(shù)字輸入優(yōu)化6. 關(guān)于docker下的nginx壓力測試7. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個列A,B,C的dataframe8. HTML5禁止img預(yù)覽該怎么解決?9. javascript - nidejs環(huán)境設(shè)置操作一直出現(xiàn)這種問題怎么解決?10. java - 靜態(tài)屬性中的賦值和靜態(tài)代碼塊中的賦值有什么區(qū)別?
