? ? ?這里的“過濾”包含兩部分內(nèi)容:
列的過濾:即選擇哪些字段
行的過濾:即選擇哪些符合條件的樣本數(shù)據(jù)
列的過濾
? ? ? 在實(shí)際分析數(shù)據(jù)時(shí)弧满,我們不太可能需要所有的字段參與分析汽煮,因此實(shí)戰(zhàn)中常常使用select選擇需要參與分析的字段即可,而不是用select *把所有字段都參與進(jìn)來睡毒。這在數(shù)據(jù)量大的情況下来惧,效率差別明顯。
? ? ? 2. 行的過濾
? ? ? 行的過濾方式有2種演顾,分別是通過where和having來實(shí)現(xiàn)的供搀。
? ? ? where是在加載表數(shù)據(jù)(from)后執(zhí)行隅居,可以通過一定的條件判斷語句來篩選數(shù)據(jù)
? ? ? having是在對(duì)數(shù)據(jù)進(jìn)行分組(group by)后執(zhí)行,是對(duì)分組后的數(shù)據(jù)按照條件判斷進(jìn)行過濾數(shù)據(jù)的
? ? ? 理論來說葛虐,having胎源、where是可以替換的,可以在group by外屿脐,再加一層嵌套進(jìn)行where過濾數(shù)據(jù)涕蚤,但一般沒必要多此一舉。