關(guān)于MySQL多表聯(lián)查并求和計(jì)算?
問題描述
是這樣的一個(gè)情況 這里有三張表 分別是用戶user,訂單 trade ,和資金記錄 user_money_record現(xiàn)在要根據(jù)用戶來統(tǒng)計(jì)他們的訂單總金額和賬戶余額以及充值總金額
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
表結(jié)構(gòu)及數(shù)據(jù)如上求統(tǒng)計(jì)他們的訂單總金額和賬戶余額以及充值總金額
謝謝!
問題解答
回答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表的信息是最完整的,應(yīng)該是這樣的:
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:
對(duì)于這樣的情況 假如數(shù)據(jù)量過大的情況如何處理
相關(guān)文章:
1. javascript - 如何用最快的速度C#或Python開發(fā)一個(gè)桌面應(yīng)用程序來訪問我的網(wǎng)站?2. java - springMVC配置的controller無法返回jsp文件3. javascript - weex和node,js到底是怎樣一個(gè)關(guān)系呢?4. javascript - 項(xiàng)目用IE瀏覽器打開修改前端內(nèi)容,后臺(tái)數(shù)據(jù)修改了,但是前端頁面內(nèi)容不變,用谷歌瀏覽器測(cè)試前端頁面可以刷新,求大神解決。5. mysql 存儲(chǔ)過程 和 函數(shù)有什么用??6. python - 關(guān)于beautifulsoup獲取文檔內(nèi)容7. android的checkbox在xml添加和在java代碼中添加樣式不一樣?8. javascript - 看一些高手寫代碼單獨(dú)用 “$”和“_” 來表示變量,什么時(shí)候單獨(dú)使用這兩個(gè)字符?9. 前端 - 使用vue2服務(wù)端渲染的時(shí)候,如何在服務(wù)端請(qǐng)求數(shù)據(jù),然后給vue渲染10. mysql - jdbc的問題
