周其仁:停止改革,我们将面临三大麻烦

抛开立场观点不谈,且看周小平写一句话能犯多少语病

罗马尼亚的声明:小事件隐藏着大趋势——黑暗中的风:坚持做对的事相信未来的结果

布林肯突访乌克兰,为何选择去吃麦当劳?

中国不再是美国第一大进口国,贸易战殃及纺织业? 美国进一步延长352项中国商品的关税豁免期

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

产品经理学SQL—where条件和模糊查询

刘大大a 产品刘 2022-10-16


上一次分享我们讲到了单表查询中的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之多表查询,喜欢的小伙伴可关注公众号:chanpinliu880

PS: 转发此篇文章到朋友圈或者是产品经理群,并截图发给微信chanpin628,可以找我领取一份《启示录 打造用户喜爱的产品》电子书

更多干货可关注微信公众号:chanpinliu880

想学习更多关于产品、职场、心理、认知等干货,可长按右边二维码,关注我们。

往期精彩文章

产品品经理怎么与团队成员建立信任和信服感?

好的产品经理都是这样高效收集信息的

手把手教你搭建用户模型

提升逻辑思维能力,看这本书就够了

手把手教你做电商后台订单系统

老司机教你做产品经理5.0

知识星球精华

面试一对一辅导

治疗拖延症的终极解决方案


点击“阅读原文”

即可进行报名。

文章有问题?点此查看未经处理的缓存