在where 語句裏並不能直接使用count()算法,count()方法並不能被用在where子句中,爲了解決問題,咱們能夠在group by子句後面使用HAVING來作條件限制。算法
例1:查詢出現過2次的user。spa
錯誤作法:select * from user_num where count(user)>=2 group by user;orm
正確作法:select * from user_num group by user HAVING count(user)>=2 ;it
解釋說明:HAVING 與 WHERE 相似,可用來決定選擇哪些記錄。HAVING 子句在SELECT語句中指定,顯示哪些已用 GROUP BY 子句分組的記錄。在GROUP BY組合了記錄後, HAVING會顯示 GROUP BY 子句分組的任何符合 HAVING 子句的記錄。select
例2:查詢單一用戶的num總和大於10的用戶。方法
有前面的經驗,把sum()方法寫在HAVING子句中。經驗
正確作法:select * from user_num group by user HAVING sum(num)>10 ;查詢