mysql多表查询数值为空null时处理成0
生活随笔
收集整理的這篇文章主要介紹了
mysql多表查询数值为空null时处理成0
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.需求
在遇到多張表查詢(xún)時(shí),很可能查一個(gè)關(guān)聯(lián)數(shù)值時(shí),并沒(méi)有這條關(guān)聯(lián)記錄,所以查詢(xún)到的結(jié)果是null,通常需要把這個(gè)結(jié)果處理成0或者其他。如圖
2.問(wèn)題
部門(mén)是有11個(gè)的,但是其他幾個(gè)部門(mén)沒(méi)有人員,就不會(huì)展示出來(lái),sql是這么寫(xiě)的
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;結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的mysql多表查询数值为空null时处理成0的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php怎么转换bt,php格式的文件转成
- 下一篇: 面向对象的数据库db4o: 初识db4o