fuliding 2016-06-13 07:22 采纳率: 0%
浏览 1057

关于一个统计的SQL问题

大家好,我遇到了一个问题,是这样的,有2个表,1个表示存储用户银联支付的信息(proposal表),另一个表示存储用户移动支付的,比如微信和支付宝支付之类的(payorder表),现在要做的就是统计一个代理下目前有多少是首存的用户,首存的意思是只存过一次款的,也就是说proposal,payorder这两个表其中一个只有一条数据的,多的都不算,统计每个代理有几个这样的用户,proposal这个表里已经有代理的字段(agent),payorder没有,需要到users表关联(agent字段),请问这个怎么写?

  • 写回答

3条回答 默认 最新

  • yicp123 2016-06-13 09:30
    关注

    大致逻辑是这样:

    select t.userid as userid
    from proposal t
    group by t.agent,t.userid having count(1)<1
    union
    select t2.userid as userid
    from payorder t1
    left join user t2 on t1.agent=t2.agent
    group by t1.agent,t2.userid having count(1)<1;

    具体sql语句的写法还得根据你这两个表的实际情况来定。

    参考自:
    MySQL如何优化GROUP BY http://www.data.5helpyou.com/article237.html

    MySQL如何优化LEFT JOIN和RIGHT JOIN http://www.data.5helpyou.com/article211.html

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题