2014-12-19 54 views
0

我有一個mySql數據庫,並且我有一個關於使用相同的「Provider_id」來計算幾個值的問題。讓我儘可能簡單地解釋它。我有3行:Provider_id(文本末尾沒有唯一值),click_count(它們的網站上有多少次點擊,int值)和logo_id(這一個與Provider_id相同,因此可以連接)。 「Provider_id」和「click_count」位於同一個表格中,而logo_id來自不同的表格。我想匹配「Provider_id」和「Logo_id」,並希望使用匹配的Provider_id來計數click_count。在mySQL中計數值

例如:

(表1)

PROVIDER_ID = 102 click_count = 10

PROVIDER_ID = 102 click_count = 22

(表2)

logo_id = 102

- 我要得到什麼 -

PROVIDER_ID = 102 click_count = 32

誰能幫助我?

解釋PROVIDER_ID:

有獨特的網站的ID與PROVIDER_ID表,以便在PROVIDER_ID好好嘗試一下必須是唯一的。

+0

group by子句 – 2014-12-19 09:30:15

回答

1

你可以做的是join表和做group by PROVIDER_ID並採取click_count的總和將解決problem.So嘗試這樣

select t1.Provider_id,sum(t1.click_count) from table_1 as t1 
inner join table_2 as t2 on t1.Provider_id = t2.logo_id 
group by t1.Provider_id 
0

您可以通過使用PROVIDER_ID聲明JOIN和組:

SELECT b.logo_id, SUM(a.click_count) AS click_count 
FROM table_1 AS a LEFT JOIN table_2 AS b ON a.Provider_id = b.logo_id 
WHERE b.logo_id = 102 
GROUP BY a.Provider_id; 
0

使用

SELECT `field`, 
      count(*) as `count` 

SELECT `field`, 
      SUM(`counter`) as `total` 

GROUP BY `field` 

在一起,不要忘了讓INDEX(field)(或更好的索引(fieldcounter))