mysql多表查询数值为空null时处理成0
生活随笔
收集整理的這篇文章主要介紹了
mysql多表查询数值为空null时处理成0
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.需求
在遇到多張表查詢時,很可能查一個關聯數值時,并沒有這條關聯記錄,所以查詢到的結果是null,通常需要把這個結果處理成0或者其他。如圖
2.問題
部門是有11個的,但是其他幾個部門沒有人員,就不會展示出來,sql是這么寫的
SELECT u.`name`, IFNULL(COUNT(*),0) as value FROMunits AS u RIGHT JOIN unit_user AS uu ON u.id = uu.unitId GROUP BYuu.unitId ORDER BYu.sort ASC;3.解決辦法
SELECT u.id,u.`name`,ifnull(uu.count_id, 0) FROMunits AS u LEFT JOIN (SELECTunitId,COUNT(id) AS count_idFROMunit_userGROUP BYunitId ) AS uu ON u.id = uu.unitId ORDER BYsort ASC;或者
SELECTu.`name`,(SELECTCOUNT(id)FROMunit_user AS rWHEREr.unitId = u.id) AS userCount FROMunits AS u LEFT JOIN unit_user AS r ON u.id = r.unitId GROUP BYu.`name` ORDER BY sort ASC;結果:
總結
以上是生活随笔為你收集整理的mysql多表查询数值为空null时处理成0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php怎么转换bt,php格式的文件转成
- 下一篇: 写滚动字幕html5源码,[转载]滚动字