SQL where and having

HAVING 支持全部WHERE操做符,他们语法是相同的,只是关键字差异,HAVING支持全部WHERE的条件,惟一的差异是WHERE过滤行,而HAVING过滤分组。另外一种理解方法,WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。这是一个重要区别,WHERE排除的行不包括在分组中。这可能会改变计算值,从而影响HAVING子句中基于这些值过滤掉的分组。sql

SELECT vend_id, COUNT(*) AS num_prods FROM products WHERE prod_price>=10 GROUP BY vend_id HAVING COUNT(*) >= 2

WHERE子句过滤全部prod_price至少为10的行。而后按vend_id分组数据,HAVING子句过滤计数为2或2以上的分组code

相关文章
相关标签/搜索