久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql - 這個SQL哪不對

瀏覽:98日期:2022-06-18 14:19:46

問題描述

1.統計任務提交情況2.A(id,name)人員表,B(bid,aid, mission)任務提交記錄表,aid 對應id,mission為字符串字段,一個人可提交多次任務,示例數據 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 任務次數張三 2李四 1王五 0

問題解答

回答1:

這句親測成功

select A.name,sum(if(mission is not null,1,0)) as ’任務次數’ 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規范,所有和NULL運算的結果都是NULL,所以對NULL的判斷需要使用特殊的方法

1、IFNULL函數2、mission<>null 改為 mession is not null

相關文章:
主站蜘蛛池模板: 东乌| 育儿| 遂平县| 凌云县| 通榆县| 顺义区| 镶黄旗| 通州市| 白河县| 濮阳县| 镇坪县| 柳河县| 安顺市| 扎鲁特旗| 且末县| 城固县| 冀州市| 都江堰市| 博野县| 上犹县| 衡南县| 德阳市| 蓝田县| 南开区| 宣恩县| 阿拉尔市| 黄山市| 贞丰县| 富源县| 游戏| 永吉县| 新疆| 临朐县| 咸宁市| 平舆县| 寿光市| 胶州市| 麻阳| 禹州市| 鸡泽县| 儋州市|