0
我想JOIN
多個表,並使用GROUP BY
使用COUNT和GROUP BY與多個JOIN表
表少這樣
表一
a_id | name
------------
1 | john
2 | david
3 | anna
表需要COUNT
從多個表B
b_id | b_title
--------------
1 | b1
2 | b2
3 | b3
表C中
c_id | c_title | b_id
------------------------
1 | c1 | 2
2 | c2 | 3
3 | c3 | 1
4 | c4 | 1
表d
d_id | d_title | c_id | a_id | cost
-----------------------------------
1 | d1 | 3 | 1 | 200
2 | d2 | 1 | 1 | 130
3 | d3 | 2 | 2 | 240
4 | d4 | 2 | 3 | 170
5 | d5 | 4 | 1 | 95
我想是這樣的
name | COUNT(b_id) | COUNT(d_id) | SUM(cost)
--------------------------------------------
john | 2 | 3 | 425
david| 1 | 1 | 240
anna | 1 | 1 | 170
這是我的查詢
SELECT a.name, COUNT(d.d_id), SUM(cost)
FROM a INNER JOIN d ON a.a_id = d.a_id
GROUP BY a.a_id
我試過,但我做不到得到的正確結果210
你的名字太 –
@Ryan Gadsdon需要組:第'a.name'在功能上依賴於'a.a_id'。所以不需要將它添加到「GROUP BY」 - 既不是由SQL標準也不是由MariaDB。 –