这里的“过滤”包含两部分内容:
列的过滤:即选择哪些字段
行的过滤:即选择哪些符合条件的样本数据
列的过滤
在实际分析数据时,我们不太可能需要所有的字段参与分析,因此实战中常常使用select选择需要参与分析的字段即可,而不是用select *把所有字段都参与进来。这在数据量大的情况下,效率差别明显。
2. 行的过滤
行的过滤方式有2种,分别是通过where和having来实现的。
where是在加载表数据(from)后执行,可以通过一定的条件判断语句来筛选数据
having是在对数据进行分组(group by)后执行,是对分组后的数据按照条件判断进行过滤数据的
理论来说,having、where是可以替换的,可以在group by外,再加一层嵌套进行where过滤数据,但一般没必要多此一举。