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