为了账号安全,请及时绑定邮箱和手机立即绑定

mysql 查询的问题

mysql 查询的问题

PHP
收到一只叮咚 2019-03-13 10:22:11
有一个这样的查询 用户表中的部分数据需要取到,同时去查询次用户最近一次充值的时间。求推荐思路 不想用循环。 正常做法是:先查询出所有的用户列表,然后循环这个数组 循环中查询此用户最后一次充值的时间追加在数组的末尾 求效率高的处理方法
查看完整描述

4 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

select A.user表字段 ,(select max(B.recharge_time) from recharge as B where B.关联id=A.keyId) as rechargeTime from user as A
查看完整回答
反对 回复 2019-03-18
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

借楼上的两张表一用,sql可以采取左连接:

select 
    u.phone,
    r.createdAt
from
    user u
    left join recharges r on u.phone = r.phone
where
    u.phone = ''
    and r.createdAt in (
        select max(createdAt) from recharges
    )
group by u.phone

类似于这种思路,不过那个sql的in性能不是很好,这里可以再稍微优化下

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 361 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信