mysql 订单关联商品_mysql实现关联订单统计

1、要求如下

收货人 收货地址 订单号 用户ID

张三 北京 1001 1

张四 上海 1002 2

张五 北京 1003 3

张六 广州 1004 4

张三 深圳 1005 5

张七 上海 1006 6

现在有这样的一个需求,每一行假定是一条订单记录,收货人和收货地址字段任意一项与其他订单一致,即认为是关联订单 如果关联订单大于3条,就把这条订单对应的用户ID记录下来。最终要的就是用户ID的列表。 比如:**订单号1001和订单号1005的收货人都是‘张三’,证明这两条订单是关联订单,而且订单号1001和订单号1003

需要用MySQL实现

2、实现如下:

create table order_table(

rec_p varchar(20),

rec_addr varchar(100),

order_no varchar(20),

user_id varchar(20)

);

insert into order_table(rec_p,rec_addr,order_no,user_id) values('张三','北京','1001','1');

insert into order_table(rec_p,rec_addr,order_no,user_id) values('张四','上海','1002','2');

insert into order_table(rec_p,rec_addr,order_no,user_id) values('张五','北京','1003','1');

insert into order_table(rec_p,rec_addr,order_no,user_id) values('张六','广州','1004','3');

insert into order_table(rec_p,rec_addr,order_no,user_id) values('张三','深圳','1005','1');

insert into order_table(rec_p,rec_addr,order_no,user_id) values('张七','上海','1006','4');

select a.* from order_table a

,(select rec_p,count(*) pnum from order_table group by rec_p) a1

,(select rec_addr,count(*) addrnum from order_table group by rec_addr) a2

where a.rec_p=a1.rec_p and a.rec_addr=a2.rec_addr and (pnum+addrnum)>3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值