sql聚合函数中count(*) 和count(1),count(2)结果相同,为什么

sql聚合函数中count(*) 和count(1),count(2)结果相同,为什么
count()括号里的参数,传得值不同,为什么传个1,2也可以?
goddong 1年前 已收到1个回答 举报

太阳公公rt 春芽

共回答了20个问题采纳率:95% 举报

count(1),其实就是计算一共有多少符合条件的行.
1并不是表示第一个字段,而是表示一个固定值.
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1..
同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的.一样的理解方式.在你这个语句理都可以使用,返回的值完全是一样的.就是计数.
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些.

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.025 s. - webmaster@yulucn.com