MySQL连接查询中的GROUB BY

MySQL连接查询中的GROUB BY,mysql,join,group-by,Mysql,Join,Group By,有两张桌子。第一个存储每个用户的费用 +----+----+----+ | id |uid |fee | +----+----+----+ | 1 |P001|100 | +----+----+----+ | 2 |P002|200 | +----+----+----+ | 3 |P003|250 | +----+----+----+ | 4 |P004|100 | +----+----+----+ | 5 |P001|200 | +----+----+----+ | 6 |P002

有两张桌子。第一个存储每个用户的费用

+----+----+----+
| id |uid |fee |
+----+----+----+
| 1  |P001|100 |
+----+----+----+
| 2  |P002|200 |
+----+----+----+
| 3  |P003|250 |
+----+----+----+
| 4  |P004|100 |
+----+----+----+
| 5  |P001|200 |
+----+----+----+
| 6  |P002|200 |
+----+----+----+
| 7  |P003|250 |
+----+----+----+
| 8  |P004|100 |
+----+----+----+
第二个存储用户分类

+----+-----+
|uid |class|
+----+-----+
|P001| 1   |
+----+-----+
|P002| 1   |
+----+-----+
|P003| 2   |
+----+-----+
|P004| 3   |
+----+-----+
我想显示他们的总和,按类别分组如下

1 - 700
2 - 500
3 - 200
我应该如何编写这个SQL查询?提前感谢。

试试这个:

SELECT class, SUM(fee)
FROM table1 t1

LEFT JOIN table2 t2
ON t1.uid = t2.uid

GROUP BY class
试试这个:

SELECT class, SUM(fee)
FROM table1 t1

LEFT JOIN table2 t2
ON t1.uid = t2.uid

GROUP BY class
试试这个

SELECT a.class, SUM(b.fee)
FROM user_classification a
INNER JOIN user_fees b
ON a.uid = b.uid
GROUP BY a.class
ORDER BY a.class ASC
试试这个

SELECT a.class, SUM(b.fee)
FROM user_classification a
INNER JOIN user_fees b
ON a.uid = b.uid
GROUP BY a.class
ORDER BY a.class ASC

假设第一个表tab1和第二个表tab1是tab2

select t2.class,sum(t1.fee) from tab2 t2 inner join tab1 t1 on t2.uid=t1.uid 
group by t2.class

假设第一个表tab1和第二个表tab1是tab2

select t2.class,sum(t1.fee) from tab2 t2 inner join tab1 t1 on t2.uid=t1.uid 
group by t2.class