欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql count(*)分組之后IFNULL無(wú)效問(wèn)題

 更新時(shí)間:2024年11月16日 14:29:55   作者:程序猿猿猿猿猿  
文章總結(jié):作者分享了在解決MySQL中根據(jù)發(fā)票ID和單位統(tǒng)計(jì)單位數(shù)量的問(wèn)題時(shí)遇到的困難及解決方法,通過(guò)使用IFNULL()函數(shù)和CASEWHEN都無(wú)法解決問(wèn)題,最終作者選擇了嵌套循環(huán)的方法來(lái)實(shí)現(xiàn)需求,并總結(jié)了經(jīng)驗(yàn)以供參考

mysql count(*)分組后IFNULL無(wú)效

因?yàn)橹坝胦racle比較多,mysql沒(méi)有經(jīng)過(guò)系統(tǒng)性學(xué)習(xí),所以這次碰到這個(gè)問(wèn)題,弄了比較久,在此記錄一下

需求

根據(jù)發(fā)票ID和單位來(lái)統(tǒng)計(jì),一個(gè)ID下掛靠多少個(gè)單位

最開(kāi)始的錯(cuò)誤語(yǔ)句

        SELECT
            count(t.CostCenter) AS countNum
        FROM
            trip_plane_settlement t
        WHERE
            t.itineraryId = #{itineraryId}
        GROUP BY
            t.itineraryId,
            t.CostCenter

后臺(tái)用int來(lái)接收時(shí),如果返回空就會(huì)拋出異常,然后我就想用IFNULL()函數(shù)來(lái)實(shí)現(xiàn),如果為空時(shí)返回0,但是發(fā)現(xiàn)還是返回還是為空,后來(lái)查閱資料之后,才發(fā)現(xiàn)如果分組之后,如果查詢條件查不到數(shù)據(jù)時(shí)還是會(huì)返回null,后面嘗試過(guò) CASE WHEN 來(lái)實(shí)現(xiàn),發(fā)下還是會(huì)返回null,因?yàn)椴椴坏綌?shù)據(jù)時(shí),整個(gè)結(jié)果集都是空的,函數(shù)就不會(huì)生效。

后面就想用嵌套循環(huán)來(lái)實(shí)現(xiàn)試試,發(fā)現(xiàn)果然可以。

解決代碼

SELECT
	IFNULL(count(*), 0) AS countNum
FROM
	(
		SELECT
			count(t.CostCenter) AS countNum,
			t.itineraryId,
			t.CostCenter
		FROM
			trip_plane_settlement t
		GROUP BY
			t.itineraryId,
			t.CostCenter
	) t1
WHERE
	t1.itineraryId = #{itineraryId}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL IS NULL空值查詢的實(shí)現(xiàn)

    MySQL IS NULL空值查詢的實(shí)現(xiàn)

    MySQL 提供了?IS NULL?關(guān)鍵字,用來(lái)判斷字段的值是否為空值,本文主要介紹了MySQL IS NULL空值查詢的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 關(guān)于mysql innodb count(*)速度慢的解決辦法

    關(guān)于mysql innodb count(*)速度慢的解決辦法

    innodb引擎在統(tǒng)計(jì)方面和myisam是不同的,Myisam內(nèi)置了一個(gè)計(jì)數(shù)器,所以在使用 select count(*) from table 的時(shí)候,直接可以從計(jì)數(shù)器中取出數(shù)據(jù)。而innodb必須全表掃描一次方能得到總的數(shù)量
    2012-12-12
  • Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題

    Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題

    這篇文章主要介紹了Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • mysql5.6主從搭建以及不同步問(wèn)題詳解

    mysql5.6主從搭建以及不同步問(wèn)題詳解

    大家好,本篇文章主要講了mysql5.6主從搭建以及不同步問(wèn)題詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Ubuntu 18.04配置mysql以及配置遠(yuǎn)程連接的步驟

    Ubuntu 18.04配置mysql以及配置遠(yuǎn)程連接的步驟

    這篇文章主要給大家介紹了關(guān)于Ubuntu 18.04配置mysql以及配置遠(yuǎn)程連接的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • MySQL?表分區(qū)步驟示例詳解

    MySQL?表分區(qū)步驟示例詳解

    MySQL表分區(qū)是一種數(shù)據(jù)庫(kù)管理技術(shù),用于將大型表拆分成更小、更可管理的分區(qū)(子表,這篇文章主要介紹了MySQL?表分區(qū)簡(jiǎn)介,需要的朋友可以參考下
    2023-09-09
  • mysql 5.7.14 下載安裝配置方法圖文教程

    mysql 5.7.14 下載安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql 5.7.14 下載安裝配置方法圖文教程,感興趣的朋友可以參考一下
    2016-08-08
  • MySQL安全配置向?qū)ysql_secure_installation詳解

    MySQL安全配置向?qū)ysql_secure_installation詳解

    這篇文章主要介紹了MySQL安全配置向?qū)ysql_secure_installation各項(xiàng)配置的含義,并依據(jù)經(jīng)驗(yàn)給予一了一些建議,需要的朋友可以參考下
    2014-03-03
  • MySQL的存儲(chǔ)函數(shù)與存儲(chǔ)過(guò)程的區(qū)別解析

    MySQL的存儲(chǔ)函數(shù)與存儲(chǔ)過(guò)程的區(qū)別解析

    這篇文章主要介紹了MySQL的存儲(chǔ)函數(shù)與存儲(chǔ)過(guò)程的區(qū)別,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 詳解MYSQL的備份還原(PHP實(shí)現(xiàn))

    詳解MYSQL的備份還原(PHP實(shí)現(xiàn))

    本篇文章是對(duì)MYSQL的備份還原進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論