sql语句中count(*)与count(abc)的区别
答案:6 悬赏:0 手机版
解决时间 2021-11-19 09:19
- 提问者网友:王者佥
- 2021-11-19 00:25
sql语句中count(*)与count(abc)的区别
最佳答案
- 五星知识达人网友:低音帝王
- 2021-11-19 01:56
区别在于
当abc为空的时候,第二种不算入count中
而第一种是无条件的都算入count中
比例一列数据
字段名叫abc
A
B
NULL
这样的话,第一种查询是3条,而第二种查询的结果是2条
你可以自己弄几条数据测试一下,就知道结果了
当abc为空的时候,第二种不算入count中
而第一种是无条件的都算入count中
比例一列数据
字段名叫abc
A
B
NULL
这样的话,第一种查询是3条,而第二种查询的结果是2条
你可以自己弄几条数据测试一下,就知道结果了
全部回答
- 1楼网友:归鹤鸣
- 2021-11-19 06:16
意思就是 第一种 需要把内容为空的行也算进去
第二种 把内容为空的剔除了 相当于 当内容有为空的时候 第二种统计的值比第一个大
第二种 把内容为空的剔除了 相当于 当内容有为空的时候 第二种统计的值比第一个大
- 2楼网友:神也偏爱
- 2021-11-19 04:44
区别在于,count(abc)将不计算为NULL的记录。
举个例子,如果abc字段都是NULL的,count(abc)将返回0.
举个例子,如果abc字段都是NULL的,count(abc)将返回0.
- 3楼网友:胯下狙击手
- 2021-11-19 03:32
区别在于
当abc为空的时候,第二种不算入count中
而第一种是无条件的都算入count中
当abc为空的时候,第二种不算入count中
而第一种是无条件的都算入count中
- 4楼网友:猎心人
- 2021-11-19 03:20
首先说明下楼主你的sql根本就运行不起来,楼主group by的是abc,怎么可能select出abd,楼主用的是什么版本的sql,反正我这边是我看过后就知道不可能会执行的;
其次COUNT(*)和COUNT(abc)的区别在于是否把为NULL的记录计算在内,建议楼主多看看SQL常用函数。。。
其次COUNT(*)和COUNT(abc)的区别在于是否把为NULL的记录计算在内,建议楼主多看看SQL常用函数。。。
- 5楼网友:傲气稳了全场
- 2021-11-19 02:32
count(*)和count(abc)的区别如下:
count(*)表示计算所有的行(包括有空值的行)的数目;
count(abc)表示只计算字段abc不为空的行的数目。
你的这两种写法在执行时之所以结果一样,是因为你的abc字段在 t_abc表中都不为空,所以两种写法查询出来的统计结果是一样的。但如果你的abc字段在 t_abc表有一个或多个值为空的情况,这样你用这两种写法检索出来的结果就不一样了。
假如有10条记录其中有两条abc字段为空的记录,当你用第一种写法检索后的结果肯定要比第二种写法检索出来的结果多两个。
count(*)表示计算所有的行(包括有空值的行)的数目;
count(abc)表示只计算字段abc不为空的行的数目。
你的这两种写法在执行时之所以结果一样,是因为你的abc字段在 t_abc表中都不为空,所以两种写法查询出来的统计结果是一样的。但如果你的abc字段在 t_abc表有一个或多个值为空的情况,这样你用这两种写法检索出来的结果就不一样了。
假如有10条记录其中有两条abc字段为空的记录,当你用第一种写法检索后的结果肯定要比第二种写法检索出来的结果多两个。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯