我的表看起来像这样:mysql:如何从一个中提取多个表并在每个中分组,然后合并为一个结果?
+------+------+------+
| prov | amnt | type |
+------+------+------+
| on | 10 | 1 |
| on | 10 | 1 |
| on | 12 | 2 |
| ab | 10 | 1 |
| ab | 12 | 2 |
| ab | 12 | 2 |
| qc | 12 | 2 |
| qc | 13 | 3 |
| qc | 13 | 3 |
+------+------+------+
我想返回一个表,其中,每个提供图片有按类型,每个类型的总和和计数,像这样分组摘要:
+------+-------+------+------+
| prov | total | type | count|
+------+-------+------+------+
| on | 20 | 1 | 2|
| on | 12 | 2 | 2|
| ab | 10 | 1 | 1|
| ab | 24 | 2 | 2|
| qc | 12 | 2 | 1|
| qc | 26 | 3 | 2|
+------+-------+------+------+
基本上,如果我为每个省进行三次手动输入查询,我将通过三个不同的查询获得三个不同表中的数据。
SELECT prov, SUM(fine) AS total, code, COUNT(code) AS COUNT
FROM table
WHERE prov = 'on'
GROUP BY code;
+------+-------+------+------+
| prov | total | type | count|
+------+-------+------+------+
| on | 20 | 1 | 2|
| on | 12 | 2 | 2|
+------+-------+------+------+