2016-02-12 90 views
1

我有以下MySQL查询MySQL查询分组问题

SELECT t2.country,t1.deposits 

    FROM(
    SELECT Online_customer_activity_v2.Customers AS Player, 
    sum(Real_Money) as Deposits 
    FROM Online_customer_activity_v2 
    group by Customers 
    ) t1 

    INNER JOIN 

    (
     SELECT username as Player, 
     `players`.`country` as country 
     FROM `players` 
    ) t2 
    ON t1.`Player` = t2.`Player` 

    ORDER BY t1.Deposits DESC 

结果是:

+-------------------------+----------+ 
| country     | deposits | 
+-------------------------+----------+ 
| Saudi Arabia   | 773410 | 
| Saudi Arabia   | 269845 | 
| Kuwait     | 132065 | 
| Kuwait     | 130245 | 
| Saudi Arabia   | 114006 | 
| Kuwait     | 110920 | 
| Kuwait     | 98755 | 
| Kuwait     | 86180 | 
| Kuwait     | 86005 | 
| Kuwait     | 84545 | 
| Saudi Arabia   | 71485 | 
| Kuwait     | 69247 | 
| Saudi Arabia   | 65300 | 
| Kuwait     | 65000 | 
| United Arab Emirates | 63795 | 
| Kuwait     | 59935 | 

现在,当我试图通过集团向t2.country让我的查询按国家总结,

SELECT t2.country,t1.deposits 
    FROM(
    SELECT Online_customer_activity_v2.Customers AS Player, 
    sum(Real_Money) as Deposits 
    FROM Online_customer_activity_v2 
    group by Customers 
    ) t1 
    INNER JOIN 
    (
     SELECT username as Player, 
     `players`.`country` as country 
     FROM `players` 
    ) t2 
    ON t1.`Player` = t2.`Player` 
    GROUP BY t2.country 
    ORDER BY t1.Deposits DESC 

我得到如下:

+-------------------------+----------+ 
| country     | deposits | 
+-------------------------+----------+ 
| Saudi Arabia   | 65300 | 
| Bahrain     | 6850  | 
| Egypt     | 700  | 

它基本上没有正确的客户总结... 我在做什么错了,我该如何纠正这个查询让它工作? 谢谢!

+0

最新要求?你是否试图计算国家明智的存款总额? –

+0

正确。存款按国家/地区总计 –

+0

使用Sum()函数作为@praveen给出的给定答案 –

回答

3

如果你想得到sum(t1.deposits)根据t2.country使用sumaggregate函数就像;

SELECT t2.country, sum(t1.deposits) deposits 
FROM(
    SELECT Customers AS Player, 
    sum(Real_Money) as Deposits 
    FROM Online_customer_activity_v2 
    group by Customers 
) t1 
JOIN `players` t2 
ON t1.`Player` = t2.`username` 
GROUP BY t2.country 
ORDER BY Sum(t1.Deposits) DESC 
+0

感谢您的及时建议!像往常一样在stackoverflow上做的很棒! –