有一個這樣的查詢
用戶表中的部分?jǐn)?shù)據(jù)需要取到,同時去查詢次用戶最近一次充值的時間。求推薦思路 不想用循環(huán)。
正常做法是:先查詢出所有的用戶列表,然后循環(huán)這個數(shù)組 循環(huán)中查詢此用戶最后一次充值的時間追加在數(shù)組的末尾
求效率高的處理方法
4 回答

莫回?zé)o
TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
select A.user表字段 ,(select max(B.recharge_time) from recharge as B where B.關(guān)聯(lián)id=A.keyId) as rechargeTime from user as A

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗 獲得超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性能不是很好,這里可以再稍微優(yōu)化下
- 4 回答
- 0 關(guān)注
- 377 瀏覽
添加回答
舉報
0/150
提交
取消