在Mysql中count(*)、count(1)与count(字段/列名)的详解—聚合函数count
生活随笔
收集整理的這篇文章主要介紹了
在Mysql中count(*)、count(1)与count(字段/列名)的详解—聚合函数count
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一、簡單區別
- 二、效率比較
- 三、舉例
- 3.1創建表
- 3.1.1利用count(*)進行統計所有行的數目
- 3.1.2利用count(1)進行統計所有行的數目
- 3.1.3利用count(字段/列名)進行統計sname字段的的數目
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
一、簡單區別
count(*):對行的數目進行計算,包括NULL的統計。
count(1):和count(*)返回結果一樣,且包括NULL的統計。注:count(2)、count(‘a’)、count(‘b’)和count(1)一樣
count(字段/列名):對特定的字段/列進行計算,不包括NULL的統計。
二、效率比較
1.若表沒有主鍵(Primary key), 那么count(1)比count( * )快。
2.若表有主鍵的話,那么主鍵作為count的條件時候count(主鍵)最快。
3.若表只有一個字段,那么count(*)就是最快的。
三、舉例
3.1創建表
sql語句
CREATE TABLE student_t (sno BIGINT PRIMARY KEY AUTO_INCREMENT,sname varchar(20) NOT NULL,sbirthday datetime DEFAULT NULL)CHARSET=utf8;插入數據
insert into student_t values('1','陳奇','2000-11-02'); insert into student_t values('2','陳飛','1999-12-05'); insert into student_t values('3','周杰','1989-03-01'); insert into student_t values('4','昆凌','1989-04-15'); insert into student_t values('5','王麗','1999-05-16'); insert into student_t values('6','蔡蔡','2000-08-17');查看表
常用練習:
3.1.1利用count(*)進行統計所有行的數目
Sql語句
SELECT COUNT(*) FROM student_t運行結果
3.1.2利用count(1)進行統計所有行的數目
Sql語句
SELECT COUNT(1) FROM student_t運行結果
3.1.3利用count(字段/列名)進行統計sname字段的的數目
Sql語句
SELECT COUNT(sname) FROM student_t運行結果
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
總結
以上是生活随笔為你收集整理的在Mysql中count(*)、count(1)与count(字段/列名)的详解—聚合函数count的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinkPHP5.0数据查询表达式生成
- 下一篇: 杂谈杂想!