目录
- 一、简单区别
- 二、效率比较
- 三、举例
- 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宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)