我在不同市场有多个产品销售,我需要总结每个标题的总计。要启动:使用GROUP BY语句合计行
mysql> SELECT title, partner_share_currency, us_earnings_usd, cad_earnings_cad
FROM raw_financials WHERE title LIKE "%Gamers%";
+--------+------------------------+-----------------+------------------+
| title | partner_share_currency | us_earnings_usd | cad_earnings_cad |
+--------+------------------------+-----------------+------------------+
| Gamers | USD | 3.2500 | 0.0000 |
| Gamers | CAD | 0.0000 | 4.0000 |
| Gamers | USD | 4.5000 | 0.0000 |
+--------+------------------------+-----------------+------------------+
这是我目前正在做得到GROUP BY标题:
mysql> SELECT title, us_earnings_usd, cad_earnings_cad
FROM raw_financials WHERE title LIKE "%Gamers%" GROUP BY title;
+--------+-----------------+------------------+
| title | us_earnings_usd | cad_earnings_cad |
+--------+-----------------+------------------+
| Gamers | 3.2500 | 0.0000 |
+--------+-----------------+------------------+
正如你所看到的,它不求和值的行。我将如何改变SELECT语句,它总结了值的行,给我:
+--------+-----------------+------------------+
| title | us_earnings_usd | cad_earnings_cad |
+--------+-----------------+------------------+
| Gamers | 7.7500 | 4.0000 |
+--------+-----------------+------------------+
'group by'子句不做求和。他们只是说哪些行应该被“折叠”以用于聚合函数。你仍然必须告诉'sum()'函数(或其他聚合函数)应该应用于哪些字段。 – 2012-01-16 20:01:01