[英]Combination of 2 sql tables
我有下表(簡化后):
CUSTOMERS
-int id
-varchar name
ENVENTS
-int id
-int customer_id
-int duration
我的問題是,我想獲取具有相同customer_id的持續時間總和,然后用表客戶的名稱替換customer_id。
所以輸出應該是:
+--------------+----------------+ | name | sum(durtaions) | +--------------+----------------+ | customername | 12313 | +--------------+----------------+
有人可以給我提示嗎?
嘗試連接兩個表並使用GROUP BY
子句來實現此目的:
SELECT c.name
,SUM(e.duration) AS duration
FROM Customers c
JOIN EVENTS e
ON c.id = e.customer_id
GROUP BY c.id
編輯:
如果客戶不在事件表中,請嘗試使用LEFT JOIN
獲取持續時間為0的客戶名稱
SELECT c.name
,IFNULL(SUM(e.duration),0) AS duration
FROM Customers c
LEFT JOIN EVENTS e
ON c.id = e.customer_id
GROUP BY c.id
看看MySQL中的JOIN和SQL連接的可視化解釋
請嘗試以下代碼。
select c.name,SUM(e.duaration) as duration
from customer as c
left join events as e
on c.id = e.id
group by e.customer_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.