产品经理学SQL(二)
上一次分享我們講到了單表查詢中的group by(產品經理學SQL)。這一次我們來說說單表查詢中的where和like(模糊查詢)。
1、where 條件
實際工作中分析的時候,有幾千萬行,所以一定要過濾。where就是起到一個過濾的作用,過濾一些你不想要的數據。
比較:=,< , > , =
指定范圍:between and(并列,同時滿足條件) or(或,滿足其中一個條件)
集合:in , not in
空值判斷:not null,null
下圖是數據表:
例子1:篩選出訂單金額大于10小于200的用戶
selcet member_id
from by_order
where order_money>10 and order_money<200;
查詢的結果如下圖:
因為有的用戶會購買兩單,兩單金額都符合大于10小于200的條件。如果要去重,則使用distinct
selcet distinct?member_id
from by_order
where order_money>20 and order_money<200;
查詢的結果如下圖:
?
例子2:查找訂單狀態為空的記錄:
selcet ?*
from by_order
where ?status is null
查詢的結果如下:
例子3:不同訂單狀態會員數(空其實也是一個狀態)
selcet ?status
? ? ? ? ? ?,count(distinct member_id) as member_number ? ?#"as member_number"取別名 ?
from by_order
group by status;
點擊查詢后效果如下圖:
2、模糊查詢:like
比如我想知道顧客里面姓“張”的有多少個,那我不管你是“張飛“還是”張三豐“,都是姓張。要么”%“號,要么”_“,他們的區別是:
%:表示任意長度的字符串,長度可以為0;例如:like ‘a%b’(表示以a開頭,b結尾任意長度的內容);
_:一個下劃線就表示一個字符;例如:like ‘a_b’(表示以a為開頭,b結尾任意長度為3個字符的內容)。
以下面的數據表為例:
例子1:以A開始,C結尾的記錄
selcet ?*
from by_order
where ?id ?like ?'A%C';
查詢結果如下:
例子2:以A開始,C結尾的三個字符的記錄
selcet ?*
from by_order
where ?id ?like ?'A_C';
查詢結果如下:
?
固定長度的搜索更精準,不固定長度的適合模糊查詢。
下次分享SQL之多表查詢,喜歡的小伙伴可關注公眾號:產品劉
PS:?轉發此篇文章到朋友圈或者是產品經理群,并截圖發給微信chanpin628,可以找我領取一份《啟示錄 打造用戶喜愛的產品》電子書。
此外我們的官方網站也上線了,每日分享高質量的文章、原型素材和行業報告,小伙伴可自行前往索取,支持搜索,需要的小伙伴可前往?www.dadaghp.com?查看(直接復制網址打開)。
更多干貨可關注微信公眾號:產品劉
想學習更多關于產品、職場、心理、認知等干貨,可長按右邊二維碼,關注我們。
往期精彩文章
面試題,你如何進行產品改版的?
產品經理和程序員的黑話
線下實戰2.0
產品經理常見面試習題匯總
點擊“閱讀原文”
即可進行報名
總結
以上是生活随笔為你收集整理的产品经理学SQL(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NASM在Ubuntu上的安装与简单使用
- 下一篇: 女人的安全感到底是什么?