關(guān)于本小節(jié)中,count(id) >= 2;的測(cè)試?。?!
以下面的數(shù)據(jù)表為例:
注意表中sex列, 其中值為NULL的有2個(gè),值為0的有3個(gè),值為2的有1個(gè),值為3的有1個(gè)。
上面這步很重要!!接著我們來測(cè)試一下:
當(dāng)?count(id) >= 1 時(shí):
當(dāng)?count(id) >= 2 時(shí):
當(dāng)?count(id) >= 3 時(shí):
當(dāng)?count(id) >= 4 時(shí):
由此可見,?count(id) >= 2 輸出的結(jié)果跟id毫無關(guān)系! 它只跟set列中具有相同值的個(gè)數(shù)有關(guān),
值為NULL的有2個(gè),值為0的有3個(gè),值為2的有1個(gè),值為3的有1個(gè)
當(dāng) count(id) >= 1 時(shí), 輸出的是NULL,0,2,3。因?yàn)樗麄兊臄?shù)目都滿足>=1
當(dāng) count(id) >=?2 時(shí), 輸出的是NULL,0。因?yàn)樗麄儗?duì)應(yīng)的數(shù)目分別為2和3,都滿足>=2
當(dāng) count(id) >=?3 時(shí), 輸出的是0,? 因?yàn)橹禐?的個(gè)數(shù)為3,滿足>=3
當(dāng) count(id) >=?4 時(shí), 沒有輸出。因?yàn)闆]有滿足條件的元素。
這問題讓我糾結(jié)的半個(gè)小時(shí),看了一些慕友的問答后,更是把我搞糊涂了,說什么輸出的是非NULL值,還有說什么跟id有什么什么關(guān)系。經(jīng)過測(cè)試,輸出的結(jié)果只跟set列具有相同的值的個(gè)數(shù)有關(guān)系,跟是不是NULL沒關(guān)系,跟id也沒關(guān)系。
?你可以把count(id) >=?2 改成count(username) >= 2或者改成count(age) >= 2或者改成count(password) >= 2,輸出的結(jié)果都是一樣的,老師的一個(gè)無意之舉,本沒有什么特別的含義,結(jié)果卻引得眾慕友們胡亂猜測(cè)。為了讓還沒有搞明白的慕友們,在這個(gè)問題上少繞些彎子,就寫了這么一些東西,如果有什么不對(duì)的地方,歡迎各慕友指點(diǎn)。。
?
2017-05-15
我也是這么理解的,你總結(jié)的很好。
2020-02-02
謝了哦
2019-01-27
li hai
2018-12-08
感謝,看到老師的輸出結(jié)果,自己也納悶,又翻回去看了好幾遍
2018-10-17
可以的
2018-08-01
count只是用來篩選sex的框選范圍,然后再根據(jù)框選范圍內(nèi)的值進(jìn)行分組,很簡(jiǎn)單啊
2018-05-25
萬分感謝!
2018-05-21
謝了 謝了?
2018-04-27
COUNT( )括號(hào)內(nèi)為空是什么結(jié)果?
2017-12-07
那count里面的參數(shù)可以隨便寫,什么意義?