mysql里面的count()函数的问题
这个函数到底是计算什么啊?我有一个表单,有五个对象,其中有个对象的remark字段的值是空,但是我输入COUNT(*)和COUNT('remark')都是5,那这个cou...
这个函数到底是计算什么啊?我有一个表单,有五个对象,其中有个对象的remark字段的值是空,但是我输入COUNT(*)和COUNT('remark')都是5,那这个count()计算的到底是什么呢?是不是括号内输入什么都是一样的?
展开
3个回答
展开全部
count() 仅仅是计算行数的.
仅仅当你 指定的列名里面, 有存在 NULL 的情况下,会对你的 COUNT 结果有影响。
下面是一个例子:
1> create table #t123(
2> id int,
3> val int
4> );
5> go
1> insert into #t123 values(1, null);
2> insert into #t123 values(null, 1);
3> insert into #t123 values(1, 1);
4> go
(1 行受影响)
1> select count(id), count(val), count(*), count(1) from #t123;
2> go
----------- ----------- ----------- -----------
2 2 3 3
警告: 聚合或其他 SET 操作消除了 Null 值。
仅仅当你 指定的列名里面, 有存在 NULL 的情况下,会对你的 COUNT 结果有影响。
下面是一个例子:
1> create table #t123(
2> id int,
3> val int
4> );
5> go
1> insert into #t123 values(1, null);
2> insert into #t123 values(null, 1);
3> insert into #t123 values(1, 1);
4> go
(1 行受影响)
1> select count(id), count(val), count(*), count(1) from #t123;
2> go
----------- ----------- ----------- -----------
2 2 3 3
警告: 聚合或其他 SET 操作消除了 Null 值。
展开全部
这个是用来输出满足where条件所有的行数。
你可以这么些
select count('remark') from table
where remark not null
你可以这么些
select count('remark') from table
where remark not null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select count(*) from tables where ~~~~~~~
输出后面的条件符合的所有对象的个数
输出后面的条件符合的所有对象的个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询