關于MySQL多表聯查并求和計算?
問題描述
是這樣的一個情況 這里有三張表 分別是用戶user,訂單 trade ,和資金記錄 user_money_record現在要根據用戶來統計他們的訂單總金額和賬戶余額以及充值總金額
user表id realname money1 張xx 1002 王xx 5003 李xx 1500
tradeid uid realmoney 1 2 50002 1 10003 2 50004 3 100005 1 3500
user_money_recordid uid money1 2 50002 1 50003 2 20004 2 30005 3 50006 3 5000
表結構及數據如上求統計他們的訂單總金額和賬戶余額以及充值總金額
謝謝!
問題解答
回答1:我猜想你可能是要這樣的
select u.name,t.realmoney,umr.money from user uleft join (select uid,sum(realmoney) as realmoney from trade group by uid) t on t.uid = u.idleft join(select uid,sum(money) as money from user_money_record group by uid) umr on umr.uid = uid回答2:
如果user表的信息是最完整的,應該是這樣的:
SELECT *FROM (SELECT id, sum(money) FROM user GROUP BY id) t1 LEFT JOIN (SELECT id, sum(realmoney) FROM trade GROUP BY id) t2 ON t1.id = t2.id LEFT JOIN (SELECT id, sum(money) FROM user_money_record GROUP BY id) t3 ON t1.id = t3.id回答3:
對于這樣的情況 假如數據量過大的情況如何處理
相關文章:
1. Span標簽2. docker-machine添加一個已有的docker主機問題3. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””4. docker-compose中volumes的問題5. angular.js使用$resource服務把數據存入mongodb的問題。6. javascript - ng-options 設置默認選項,不是設置第一個哦,看清楚了!7. SessionNotFoundException:會話ID為null。調用quit()后使用WebDriver嗎?(硒)8. redis啟動有問題?9. android新手一枚,android使用httclient獲取服務器端數據失敗,但是用java工程運行就可以成功獲取。10. java - Collections類里的swap函數,源碼為什么要新定義一個final的List型變量l指向傳入的list?
