我的SQL语句存在问题,它会计算两个表之间的元素,这些表有多对多的关系:
Clients: | client_id | client_name |
Events: | client_id | event_id |
结果我需要这样的东西:
| client_id | events_counts |
其中events_counts将是使用client_id连接到客户端的多个完整事件
我是SQL新手,我不知道如何编写此查询,我考虑在Clients
表中添加包含此计数器的新列。
答案 0 :(得分: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