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

mysql count(*)分組之后IFNULL無效問題

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

mysql count(*)分組后IFNULL無效

因為之前用oracle比較多,mysql沒有經(jīng)過系統(tǒng)性學(xué)習(xí),所以這次碰到這個問題,弄了比較久,在此記錄一下

需求

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

最開始的錯誤語句

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

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

后面就想用嵌套循環(huán)來實現(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é)

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

相關(guān)文章

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

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

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

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

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

    Redis什么是熱Key問題以及如何解決熱Key問題

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

    mysql5.6主從搭建以及不同步問題詳解

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

    Ubuntu 18.04配置mysql以及配置遠程連接的步驟

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

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

    MySQL表分區(qū)是一種數(shù)據(jù)庫管理技術(shù),用于將大型表拆分成更小、更可管理的分區(qū)(子表,這篇文章主要介紹了MySQL?表分區(qū)簡介,需要的朋友可以參考下
    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各項配置的含義,并依據(jù)經(jīng)驗給予一了一些建議,需要的朋友可以參考下
    2014-03-03
  • MySQL的存儲函數(shù)與存儲過程的區(qū)別解析

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

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

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

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

最新評論