大家好,我遇到了一个问题,是这样的,有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.htmlMySQL如何优化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 汇编语言除法溢出问题