最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql中count帶條件計數(shù)實例代碼

 更新時間:2023年09月10日 09:19:29   作者:lr_24353  
這篇文章主要給大家介紹了關于Mysql中count帶條件計數(shù)的相關資料,Mysql中count()函數(shù)的一般用法是統(tǒng)計字段非空的記錄數(shù),所以可以利用這個特點來進行條件統(tǒng)計,需要的朋友可以參考下

count 帶條件計數(shù)

mysql 統(tǒng)計條數(shù)很簡單, 使用 count 函數(shù)就行,但是帶條件統(tǒng)計,可能有些小伙伴跟我一樣,還有些疑問,廢話不多說 上代碼

表中三條數(shù)據(jù)

1. count(*) 和 count(字段) :

區(qū)別:count(*) 包含 null 值的條目,count(字段) 則不包含

例如:

select count(*) from sys_user // 返回 3 條數(shù)據(jù)
select count(name) from sys_user // 返回 2數(shù)據(jù),就是將name字段為null的去除了

2.加條件count用法

例:求 age 小于 19 人數(shù)

select count(age <  19 or null) from sys_user // 返回 1條數(shù)據(jù)

條件可以隨便寫( > 、<、=、is null 等等),但是必須加上 or null ,否則統(tǒng)計出來 就是 3 條;

其他寫法,效果一致:

select count(if(age <  19, 1, null)) from sys_user // 返回 1條數(shù)據(jù)
select count(case when age <  19 then 1 end) from sys_user // 返回 1條數(shù)據(jù)

附:count(1)和count(*)和count(列名)的區(qū)別

1.函數(shù)說明

  • count(1):統(tǒng)計所有的記錄(包括null)。
  • count(*):統(tǒng)計所有的記錄(包括null)。
  • count(字段):統(tǒng)計該"字段"不為null的記錄。
  • count(distinct 字段):統(tǒng)計該"字段"去重且不為null的記錄。

count(1)中的1并不是表示第一個字段,而是表示一個固定值。其實就可以想成表中有這么一個字段,這個字段就是固定值1,count(1),就是計算一共有多少個1。count(*),執(zhí)行時會把星號翻譯成字段的具體名字,效果也是一樣的,不過多了一個翻譯的動作,比固定值的方式效率稍微低一些。

2.執(zhí)行效率

他們之間根據(jù)不同情況會有些許區(qū)別,MySQL 會對count()做優(yōu)化。(1)如果表中只有一列,則count( )效率最優(yōu)。(2)如果表有多列,且存在主鍵,count (主鍵列名)效率最優(yōu),其次是:count (1) >count( *)。(3)如果表有多列,且不存在主鍵,則count(1 )效率優(yōu)于count( *)

3.執(zhí)行過程

  • count(*)包括了所有的列,相當于行數(shù),在統(tǒng)計結果的時候, 包括列值為NULL的行。
  • count(1)包括了忽略所有列,用1代表代碼行,在統(tǒng)計結果的時候, 包括列值為NULL的行。
  • count(列名)只包括列名那一列,在統(tǒng)計結果的時候,會忽略列值為空(這里的空不是只空字符串或者0,而是表示null)的計數(shù), 即某個字段值為NULL時,不統(tǒng)計。

4.注意事項

阿里開發(fā)手冊規(guī)范相關規(guī)定:

1.【強制】不要使用 count(列名)或 count(常量)來替代 count(),count()是 SQL92 定義的標 準統(tǒng)計行數(shù)的語法,跟數(shù)據(jù)庫無關,跟 NULL 和非 NULL 無關. 說明:count(*)會統(tǒng)計值為 NULL 的行,而 count(列名)不會統(tǒng)計此列為 NULL 值的行.

2.【強制】count(distinct col) 計算該列除 NULL 之外的不重復行數(shù),注意 count(distinct col1, col2) 如果其中一列全為 NULL,那么即使另一列有不同的值,也返回為 0.

總結 

到此這篇關于Mysql中count帶條件計數(shù)的文章就介紹到這了,更多相關Mysql count帶條件計數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MYSQL 修改root密碼命令小結

    MYSQL 修改root密碼命令小結

    MYSQL 修改root密碼命令小結,需要的朋友可以參考下。
    2011-10-10
  • 簡單了解mysql InnoDB MyISAM相關區(qū)別

    簡單了解mysql InnoDB MyISAM相關區(qū)別

    這篇文章主要介紹了簡單了解mysql InnoDB MyISAM相關區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Mysql中的innoDB如何解決幻讀

    Mysql中的innoDB如何解決幻讀

    這篇文章主要介紹了Mysql中的innoDB如何解決幻讀,幻讀是指在同一個事務中,前后兩次查詢相同范圍的時候得到的結果不一致,文章將介紹InnoDB引入間隙鎖和next-key?lock機制去解決幻讀問題,感興趣的小伙伴可以參考一下
    2022-04-04
  • 詳解mysql 使用left join添加where條件的問題分析

    詳解mysql 使用left join添加where條件的問題分析

    這篇文章主要介紹了詳解mysql 使用left join添加where條件的問題分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • MySQL修改賬號密碼方法大全(小結)

    MySQL修改賬號密碼方法大全(小結)

    這篇文章主要介紹了MySQL修改賬號密碼方法大全(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • SQL實現(xiàn)LeetCode(185.系里前三高薪水)

    SQL實現(xiàn)LeetCode(185.系里前三高薪水)

    這篇文章主要介紹了SQL實現(xiàn)LeetCode(185.系里前三高薪水),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • MySQL基礎學習之約束詳解

    MySQL基礎學習之約束詳解

    約束是作用于表中字段上的規(guī)則,用于限制儲存在表中的數(shù)據(jù),這篇文章主要為大家介紹了MySQL中約束的案例以及外鍵約束的展示與刪除,需要的可以參考一下
    2023-07-07
  • linux 之centos7搭建mysql5.7.29的詳細過程

    linux 之centos7搭建mysql5.7.29的詳細過程

    這篇文章主要介紹了linux 之centos7搭建mysql5.7.29的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Mysql中的默認存儲引擎

    Mysql中的默認存儲引擎

    這篇文章主要介紹了Mysql中的默認存儲引擎方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL回表查詢的實現(xiàn)示例

    MySQL回表查詢的實現(xiàn)示例

    回表查詢是 MySQL 數(shù)據(jù)庫中一種常見的查詢操作,主要出現(xiàn)在使用索引進行查詢的場景中,本文就來介紹一下如何實現(xiàn),感興趣的可以了解一下
    2026-01-01

最新評論

泊头市| 肇州县| 独山县| 庄浪县| 平山县| 鹤壁市| 鄂托克前旗| 横峰县| 延川县| 望谟县| 安达市| 鹤壁市| 东安县| 朝阳市| 文水县| 阳原县| 长沙市| 汕头市| 静乐县| 阿坝县| 隆尧县| 莱芜市| 盐亭县| 息烽县| 乌什县| 讷河市| 长白| 西乌珠穆沁旗| 荆州市| 依安县| 织金县| 抚远县| 绥棱县| 九江县| 武陟县| 垦利县| 佛坪县| 镇沅| 沾化县| 韶关市| 旬邑县|