产品经理学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上的安装与简单使用
- 下一篇: redis主从复制_技术干货分享:一文了