sql中count或sum為條件的查詢示例(sql查詢count)
比如user_num表:
例1:查詢出現(xiàn)過2次的user
往往初學(xué)者會錯誤地認為在where 語句里直接使用count()算法,很顯然這個想法是錯誤的,count()方法并不能被用在where子句中,為了解決問題,我們可以在group by子句后面使用HAVING來做條件限制。
錯誤做法:select * from user_num where count(user)>=2 group by user;
正確做法:select * from user_num group by user HAVING count(user)>=2 ;
解釋說明:HAVING 與 WHERE 類似,可用來決定選擇哪些記錄。HAVING 子句在SELECT語句中指定,顯示哪些已用 GROUP BY 子句分組的記錄。在GROUP BY組合了記錄后, HAVING會顯示 GROUP BY 子句分組的任何符合 HAVING 子句的記錄。
例2:查詢單一用戶的num總和大于10的用戶
有前面的經(jīng)驗,把sum()方法寫在HAVING子句中。
正確做法:select * from user_num group by user HAVING sum(num)>10 ;
注意:一個HAVING子句最多只能包含40個表達式,HAVING子句的表達式之間可以用AND和OR分割。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。