关于一对多查询统计

Strive20101101 2015-11-17 11:47:41
现有两张表
A表:主键,登陆账号,登陆时间,登出时间(其实就是上下班时间)。。。。(每条数据为一个人的上下班信息)
B表:收费表,登陆账号,收费时间,应收金额,实收金额。。。。

表均无外键。

现想查询出的结果为,统计A表中每人在上班时间范围内共应收、实收多少?MYSQL分页查询,我现在使用的是子查询,效率相当低下,SQL就不贴出来了,免得笑话。分不多,请指教!
...全文
131 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rick-he 2015-11-17
  • 打赏
  • 举报
回复
既然你已经写出来的就贴出来,也可以猜测出逻辑,也许可以优化 show create 下
poytao 2015-11-17
  • 打赏
  • 举报
回复
没有外键,一样可以查的
ACMAIN_CHM 2015-11-17
  • 打赏
  • 举报
回复
select *, (select sum(应收金额) from B where 登陆账号=a.登陆账号 and 收费时间 between a.登陆时间 and a.登出时间) as 应收, (select sum(实收金额) from B where 登陆账号=a.登陆账号 and 收费时间 between a.登陆时间 and a.登出时间) as 实收 from a ; create index xxx on B(登陆账号,收费时间);
张海霖 2015-11-17
  • 打赏
  • 举报
回复
你的问题不是不能查询出结果,而是优化问题。 没有细节,难以优化。

56,878

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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