您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“mysql如何統(tǒng)計(jì)查詢結(jié)果”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
在mysql中,可以使用COUNT()函數(shù)來統(tǒng)計(jì)查詢結(jié)果;該函數(shù)用于統(tǒng)計(jì)查詢結(jié)果的行數(shù),返回表中符合特定條件的記錄行數(shù)。COUNT()函數(shù)有三種語法:1、“COUNT(*)”,返回總行數(shù),包含NULL和非NULL值的行;2、“COUNT(字段名)”,返回不包含NULL值的行數(shù),會(huì)忽略空值行;3、“COUNT(DISTINCT 字段名)”,返回不包含NULL值的唯一行數(shù)。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在mysql中,可以使用COUNT()函數(shù)來統(tǒng)計(jì)查詢結(jié)果。
MySQL COUNT()函數(shù)
COUNT()函數(shù)統(tǒng)計(jì)數(shù)據(jù)表中包含的記錄行的總數(shù),或者根據(jù)查詢結(jié)果返回列中包含的數(shù)據(jù)行數(shù)
COUNT()函數(shù)的返回類型為BIGINT。 如果沒有找到匹配的行,則COUNT()函數(shù)返回0。
COUNT()函數(shù)有三種語法:
COUNT(*) COUNT(字段名) COUNT(DISTINCT 字段名)
COUNT(*)
COUNT(*)函數(shù)返回由SELECT語句返回的結(jié)果集中的行數(shù)。COUNT(*)函數(shù)計(jì)算包含NULL和非NULL值的行,即:所有行。
如果使用COUNT(*)函數(shù)對表中的數(shù)字行進(jìn)行計(jì)數(shù),而不使用WHERE子句選擇其他列,則其執(zhí)行速度非常快。
這種優(yōu)化僅適用于MyISAM表,因?yàn)镸yISAM表的行數(shù)存儲(chǔ)在information_schema數(shù)據(jù)庫的tables表的table_rows列中; 因此,MySQL可以很快地檢索它。
COUNT(字段名)
COUNT(字段名)返回不包含NULL值的行數(shù)。
COUNT(DISTINCT 字段名)
COUNT(DISTINCT 字段名)返回不包含NULL值的唯一行數(shù)。
MySQL COUNT示例
創(chuàng)建一個(gè)名為demo的新表,并插入一些示例數(shù)據(jù)
-- create a demos table CREATE TABLE IF NOT EXISTS demos( id int auto_increment primary key, val int );
-- insert some sample data INSERT INTO demos(val) VALUES(1),(1),(2),(2),(NULL),(3),(4),(NULL),(5);
-- select data from demos table SELECT * FROM demos;
計(jì)算demos表中的所有行,請使用COUNT(*)函數(shù)
SELECT COUNT(*) FROM demos;
可以添加一個(gè)WHERE子句來指定一個(gè)條件來計(jì)數(shù),例如,只計(jì)算val列包含值等于2的行,使用以下查詢:
SELECT COUNT(*) FROM demos WHERE val = 2;
val列中的兩個(gè)NULL值將被忽略。
要計(jì)算demos表中的唯一行,可以將DISTINCT運(yùn)算符添加到COUNT函數(shù)中,如下查詢語句:
SELECT COUNT(DISTINCT val) FROM demos;
在計(jì)數(shù)中忽略兩個(gè)重復(fù)值1、2和兩個(gè)NULL值。
“mysql如何統(tǒng)計(jì)查詢結(jié)果”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。