sql中 count(*) 和 count(1)啥区别?

为什么别的聚合函数max(1)sum(1)结果不对,里面的1是啥意思,count(99)也是一样的难道是count把括号里面的数字当做*来处理了吗?,求解释... 为什么别的聚合函数 max(1) sum(1) 结果不对,里面的1是啥意思,count(99)也是一样的难道是count 把括号里面的数字当做*来处理了吗?,求解释 展开
 我来答
藏漂生活这几年
推荐于2018-02-28 · TA获得超过681个赞
知道小有建树答主
回答量:409
采纳率:33%
帮助的人:345万
展开全部
count(*) 可以统计所有的行数,包括为null的行

count(1) 统计的是第一个子字段的行数,为null的行数 不统计。

sql 语句中 有时候1 代表对应的 第一个字段,第二个字段 一次类推。
qsc800528
2012-05-28 · TA获得超过2974个赞
知道大有可为答主
回答量:1383
采纳率:0%
帮助的人:1740万
展开全部
COUNT是计算行数的函数,COUNT(*)可以计算出行数,COUNT(1)也可以计算出行数,1在这里代表一行。

例如:SELECT 1 FROM TABLENAME 会显示出VALUE为1的列。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云湖醉客
2012-05-28 · TA获得超过1983个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:302万
展开全部
你建一个表,插入两行记录,一行为1,一行为空,然后你去看看 count(*) 和 count(1) 发现结果不一样,就知道意思了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高高好大大
2012-05-28
知道答主
回答量:2
采纳率:0%
帮助的人:3168
展开全部
聚合函数的参数在不同的函数中代表的意义是不同的:
max(1)中 1:表示为订制1;
sum(1)中 1:表示为行数;
count(1)中 1:表示为所有行,在这里的所有数字都可以看作 * ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ww19920924
2012-05-28
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
1是查一条字段,而*是表里所有的字段!这两个概念是不一样的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式