SQL多对多排名

加布里埃尔·马图塞维奇(Gabriel Matusevich)

我有2个与多对多关系相关的实体

客户,服务,clients_has_services。

我需要使用其各自的客户数量来检索所有服务,如下所示:

服务1 20
服务2 10
服务3 5服务
4 0
....

我在进行该查询时遇到问题,该查询仅返回一条记录:

SELECT
    services.id as id,
    services.name as name,
    COUNT(clients_has_services.services_id) as ranking
FROM services
LEFT JOIN clients_has_services ON services.id = clients_has_services.services_id
保罗·麦克斯韦

您需要一个group by子句:

SELECT
    services.id as id,
    services.name as name,
    COUNT(clients_has_services.services_id) as ranking
FROM services
LEFT JOIN clients_has_services ON services.id = clients_has_services.services_id
GROUP BY
    services.id,
    services.name

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章