关于复购率SQL的问题

nanF7 2018-01-18 03:00:35
有两个表1订单表order 2会员表 order_admin 会员表只有会员信息,姓名youke_name,电话 youke_phone,身份证号 youke_sfz,以及关联订单表的字段order_id 现在的需求是这样的 选择一月时间 我想知道 这一段时间里 会员复购率 下面是我的SQL
SELECT (COUNT(y.youke_sfz)-COUNT(distinct y.youke_sfz)) as num FROM order_admin y RIGHT JOIN order as o on o.id=y.order_id WHERE ( (o.addtime BETWEEN 1513578796 AND 1516257196 ) )


COUNT(distinct y.youke_sfz) as num 是去掉复购的人数
COUNT(y.youke_sfz) as zong 是总人数
但是 问题在于 返回的数据 只是一个月的 需求想要知道 这一月里有多少复购率 总人数 需要时全部的 不是要一个月的
额 简单说 就是 拿着一个月的会员数据 去和 整个数据库的会员数据去作比较 需要知道有多少重复的复购率 不知道这个SQL怎么拼
...全文
917 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-01-18
  • 打赏
  • 举报
回复
order 是 MySQL 保留字,挪作他用需转义,请注意 我搞不清你的表间关系,只一半的说说: select count(*), (select count(*) from 订单表 where 会员id=会员表.会员id and 其他过滤条件) from 会员表 count(*) 用于统计会员总数 (select count(*) from 订单表 where 会员id=会员表.会员id and 其他过滤条件) 用于统计会员订单总数 细节你自己调

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧