有一個這樣的查詢
用戶表中的部分數據需要取到,同時去查詢次用戶最近一次充值的時間。求推薦思路 不想用循環。
正常做法是:先查詢出所有的用戶列表,然后循環這個數組 循環中查詢此用戶最后一次充值的時間追加在數組的末尾
求效率高的處理方法
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
人到中年有點甜
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性能不是很好,這里可以再稍微優化下
- 4 回答
- 0 關注
- 383 瀏覽
添加回答
舉報
0/150
提交
取消
