为了账号安全,请及时绑定邮箱和手机立即绑定

在having分组那节里,谁能给解释下count(id)>=2是什么意思

我编的数据与视频不一样,我用select count(id)> =2 from users;返回1?

正在回答

6 回答

http://img1.sycdn.imooc.com//58d36f36000106df06930403.jpg

你看,首先id为6是删除了的,也就是id这一行有8个元素分别是1,2,3,4,5,7,8,9


http://img1.sycdn.imooc.com//58d36f390001c82606930403.jpg

SELECT count(id)>7 FROM users,也就是查找8>7的在表users中有几个,这个你懂吧,就是一个啊,就是8这个数,然后count(id)>8的有几个,有0个,因为8>8不成立,所有没有count(id)>8的个数。


http://img1.sycdn.imooc.com//58d36f3b0001cac406930403.jpg

SELECT count(id)>=8 FROM users,意思就是id的个数这个数中,大于等于8的有几个,id的个数count(id)为8我们知道,然后8这个个数中大于等于8的有一个就是8本身,所有为1,

其实你的这个SELECT count(id)>=2 FROM users,这个代码没什么实际意义,因为不管条件怎么变都只可能出来1或者0的结果,因为count()返回值只可能为一个数,一个数大于等于一个数的个数的结果只可能唯一,或者为零

。希望能帮到你………………

2 回复 有任何疑惑可以回复我~
#1

慕粉1472567581 提问者

谢谢我懂了,having其实不能单独用,是我想偏了,只纠结count()。分组后将id数目不超过2个的过滤掉
2017-03-23 回复 有任何疑惑可以回复我~

查找  SQL表里面有没有重复超过2个数据的

0 回复 有任何疑惑可以回复我~

count不是计数的意思吗?  单纯的只看你指定字段分组后的记录个数是否符合,哪来的比大小……

0 回复 有任何疑惑可以回复我~

一个答非所问,一个似懂非懂,看得人都醉了。。。。

6 回复 有任何疑惑可以回复我~
#1

午夜狂魔2

编程圈就是这样,装B的人太多,除了装B能干点正事吗?
2018-10-06 回复 有任何疑惑可以回复我~

哦,我懂你的意思了,首先我们知道count(id)的意思是有在id这一列多少个非空的元素,你设置的是多少就是多少,比如你设置了8个那就是8,然后,count(id)>=2就是比8这个数比2大的有几个,答案是有一个,所有就返回一,如果你用count(id)=8,返回也会是1,count(id)<8返回就是0,不知道你看得懂不。

0 回复 有任何疑惑可以回复我~

你是不是在users表里面有两个或者两个以上的数据把sex设置为1?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

在having分组那节里,谁能给解释下count(id)>=2是什么意思

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信