国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL中distinct和count(*)的使用方法比較

2024-07-24 12:45:28
字體:
供稿:網(wǎng)友

首先對(duì)于MySQL的DISTINCT的關(guān)鍵字的一些用法:

1.在count 不重復(fù)的記錄的時(shí)候能用到,比如SELECT COUNT( DISTINCT id ) FROM tablename;就是計(jì)算talbebname表中id不同的記錄有多少條。

2,在需要返回記錄不同的id的具體值的時(shí)候可以用,比如SELECT DISTINCT id FROM tablename;返回talbebname表中不同的id的具體的值。

3.上面的情況2對(duì)于需要返回mysql表中2列以上的結(jié)果時(shí)會(huì)有歧義,比如SELECT DISTINCT id, type FROM tablename;實(shí)際上返回的是 id與type同時(shí)不相同的結(jié)果,也就是DISTINCT同時(shí)作用了兩個(gè)字段,必須得id與tyoe都相同的才被排除了,與我們期望的結(jié)果不一樣。

4.這時(shí)候可以考慮使用group_concat函數(shù)來進(jìn)行排除,不過這個(gè)mysql函數(shù)是在mysql4.1以上才支持的。

5.其實(shí)還有另外一種解決方式,就是使用,SELECT id, type, count(DISTINCT id) FROM tablename,雖然這樣的返回結(jié)果多了一列無用的count數(shù)據(jù)(或許你就需要這個(gè)我說的無用數(shù)據(jù)),返回的結(jié)果是只有id不同的所有結(jié)果和上面的4類型可以互補(bǔ)使用,就是看你需要什么樣的數(shù)據(jù)了。
DISTINCT的效率:

SELECT id, type, count(DISTINCT id) FROM  tablename;雖然這樣的返回結(jié)果多了一列無用的count數(shù)據(jù)(或許你就需要這個(gè)我說的無用數(shù)據(jù)),SELECT id, type from tablename group by id;這樣貌似也可以,用distinct的時(shí)候,如果它有索引,mysql會(huì)把它轉(zhuǎn)成group by的方式執(zhí)行。

 MySQL數(shù)據(jù)庫對(duì)于COUNT(*)的不同處理會(huì)造成不同的結(jié)果,比如,

  執(zhí)行:SELECT COUNT(*) FROM tablename;即使對(duì)于千萬級(jí)別的數(shù)據(jù)mysql也能非常迅速的返回結(jié)果。 
  執(zhí)行: SELECT COUNT(*) FROM tablename WHERE…..;mysql的查詢時(shí)間開始攀升。 

網(wǎng)上查資料得知:當(dāng)沒有WHERE語句對(duì)于整個(gè)mysql的表進(jìn)行count運(yùn)算的時(shí)候,MyISAM類型的表中保存有總的行數(shù),而當(dāng)添加有WHERE限定語句的時(shí)候Mysql需要對(duì)整個(gè)表進(jìn)行檢索,從而得出count的數(shù)值,因此加上where條件的查詢速度就會(huì)很慢了。
以上關(guān)于MySQL數(shù)據(jù)庫的distinct以及count(*)的使用就介紹到這里了,希望本次的介紹能夠帶給您一些收獲。

您可能感興趣的文章:

Mysql中的count()與sum()區(qū)別詳細(xì)介紹MYSQL中統(tǒng)計(jì)查詢結(jié)果總行數(shù)的便捷方法省去count(*)mySQL count多個(gè)表的數(shù)據(jù)實(shí)例詳解關(guān)于mysql innodb count(*)速度慢的解決辦法詳細(xì)解讀MySQL中COUNT函數(shù)的用法mysql_num_rows VS COUNT 效率問題分析關(guān)于mysql中innodb的count優(yōu)化問題分享淺析一個(gè)MYSQL語法(在查詢中使用count)的兼容性問題mysql中count(), group by, order by使用詳解MySQL中count(*)、count(1)和count(col)的區(qū)別匯總
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 井研县| 神木县| 绿春县| 观塘区| 修水县| 竹北市| 昌吉市| 永嘉县| 溧阳市| 永清县| 彭州市| 蓝田县| 师宗县| 织金县| 宁陕县| 平原县| 香港| 敦化市| 环江| 蓬安县| 满城县| 永顺县| 北辰区| 曲松县| 大连市| 广东省| 周口市| 望谟县| 双流县| 永寿县| 道孚县| 贞丰县| 报价| 阿城市| 驻马店市| 东宁县| 白朗县| 潞西市| 库尔勒市| 于都县| 滨州市|