的MySQL表时会加入选择SUM

问题描述:

SELECT u.user_id, u.website, u.phone, SUM(r.redeem_amount) , SUM(r.redeem_paid) 
FROM users u 
LEFT JOIN redeemed r ON u.user_id = r.redeem_user_id 
WHERE r.redeem_state = '0' 
GROUP BY u.website 

什么我试图做的,是选择从表赎回针对每个网站赎回量的总和,各网站应该从赎回表的MySQL表时会加入选择SUM

选择它的总(SUM)

提供的查询能够选择每个网站,但未能从表格兑换中选择SUM,因为它仅选择一行来兑换而不是该网站的全部。

我可以得到你的帮助或指出我错在哪里以及如何改善这种情况。我知道有些人可能会为此付出代价,但我不能在MySQL中获得这种技巧。

http://sqlfiddle.com/#!9/9eecb7d

+0

你能前缀'u'或'r'澄清SELECT子句中的每一列? (或者更好的提供一个sqlfiddle) – 2016-04-03 21:15:51

+0

群由什么! w ??? –

+1

@abu对不起,我按了错误的键W无法启动你的 – FetchLazy

好了,试试用下面的:

选择u.user_id,u.website,u.phone,SUM(r.redeem_amount),SUM( r.redeem_paid)来自用户的üLEFT JOIN赎回R ON u.user_id = r.redeem_user_id WHERE r.redeem_state = '0' GROUP BY r.redeem_user_id

Redeem Table

Users Table

Results

+0

Stil得到相同的我的查询 – FetchLazy

+0

它的右@FetchLazy,你的上面的查询权利,我在Navicat上测试它,检查你的条件r .redeem_state ='0' –

+0

是否可以看到结果? – FetchLazy