2013-12-16 37 views
0

我有一個SQL語句的問題,這將是在多對多的關係兩個表之間的計數元素:PGSQL計數元素

Clients:  | client_id | client_name | 
Events:  | client_id | event_id | 

因此,我需要的是這樣的:

| client_id | events_counts | 

凡events_counts將是一個數連接到客戶端的client_id整個事件的

我是新來的SQL和我沒有任何想法,我怎麼能寫THI在我的查詢中,我考慮在Clients表中添加包含此計數器的新列。

回答

1

使用GROUP BY和COUNT(*)

SELECT client_id, COUNT(*) 
FROM events 
GROUP BY client_id 

嘗試聚合如果需要也顯示客戶名稱,則必須一起使用:

SELECT c.client_id, c.client_name, count(*) 
FROM events e 
JOIN clients c ON e.client_id = c.client_id 
GROUP BY c.client_id, c.client_name