朝阳Tim

2019-02-19   阅读量: 1780

Mysql

mysql多条件查找的思路?

扫码加入数据分析学习群

问题描述:

假设我有2个表,分别是orderinfo和orderdetail,想要找出购买了SKU1又购买了SKU2产品的人,应该是怎么样的查询逻辑?


解决思路:

  • 可以利用子查询,找出来购买了SKU1又购买了SKU2的orderid,然后作为where的筛选条件,再主查询中显示即可
  • 同理可得,当有多个查找条件的时候,可以用上述思路,做where…and…的组合查询,目的还是筛选出来符合多个条件的主键,然后再进行主查询
select * from orderinfo oi 
where orderid in (select ordered from orderdetail where sku in(‘SKU1’,’SKU2’))
添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
24.3401 1 4 关注作者 收藏

评论(1)

朝阳Tim
2019-02-25

更正代码如下:

select * from
(select CustomerID as '客户ID',group_concat(SKU) as'SKU' from Orderinfo,OrderDetail
where Orderinfo.OrderID=OrderDetail.OrderID
group by CustomerID) aa
where SKU like '%SKU1%'
and SKU like '%SKU2%';
0.0000 0 0 回复

推荐课程