mysql中的count()函式使用

2022-10-10 21:24:32 字數 879 閱讀 7641

有時候總認為count(*)會比count(1)或者count(column name)慢,事實上是分情況處理。

比如:---初始化語句

建立一張表並插入資料:

create table test2 (id bigint primary key, name varchar(24))engine=innodb;

insert into test2(id,name)values(1,null);

insert into test2(id,name)values(2,'name1');

insert into test2(id,name)values(3,'name2');

執行下面的select語句:

select count(*) from test2 ;  //結果是:3

select count(id) from test2 ; //結果是:3

select count(name) from test2 ; //結果是:2

select count(name) from test2 where name is null; //結果是:0

count(1)指的並不是計算1的個數,而是指表的第乙個字段,如果第乙個字段沒有建立索引,他的效率是很低的;

而且count(column name)預設查詢的是指定欄位非空的個數,如果你想查詢資料的所有行數,恰巧指定欄位又是

乙個可存在空庫資料的字段,那麼得到的資料就不會是期望的值。再來說一下count(),在上述的count(column name)

查詢方式中,如果指定的column為限制為非空,那麼mysql會將上述表示式轉化為count()來進行查詢。所以如果想

要查詢資料大小,在mysql中建議使用count(*)來執行,含義明了,速度還快。

MySql中的count 函式

1.count 函式是用來統計表中記錄的乙個函式,返回匹配條件的行數。2.count 語法 1 count 包括所有列,返回表中的記錄數,相當於統計表的行數,在統計結果的時候,不會忽略列值為null的記錄。2 count 1 忽略所有列,1表示乙個固定值,也可以用count 2 count 3 代替...

MySql中的count函式

1.count 函式是用來統計表中記錄的乙個函式,返回匹配條件的行數。2.count 語法 1 count 包括所有列,返回表中的記錄數,相當於統計表的行數,在統計結果的時候,不會忽略列值為null的記錄。2 count 1 忽略所有列,1表示乙個固定值,也可以用count 2 count 3 代替...

mysql中的count 函式

1.count 函式是用來統計表中記錄的乙個函式,返回匹配條件的行數。2.count 語法 1 count 包括所有列,返回表中的記錄數,相當於統計表的行數,在統計結果的時候,不會忽略列值為null的記錄。2 count 1 忽略所有列,1表示乙個固定值,也可以用count 2 count 3 代替...