[英]MySQL sum with multiple table
我有三張桌子。
result: result_id, person_id, result
area: person_id, district_id
district: province_id, district_id
我想要SUM(result.result) GROUP BY province_id
但是由於area.person_id
具有多個person_id
因此當我SUM(result.result)
時,我SUM(result.result)
得到兩倍的結果或三倍的值,從而增加了area.person_id
中的area.person_id
。
你能幫忙嗎。
使用帶有DISTINCT
的子查詢刪除重復項。
SELECT province_id, SUM(result)
FROM (
SELECT DISTINCT d.province_id, r.person_id
FROM result AS r
JOIN area AS a ON r.person_id = a.person_id
JOIN district AS d ON a.district_id = d.district_id) AS p
JOIN result AS r ON p.person_id = r.person_id
GROUP BY province_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.