我有以下表格结构:
汽车
- id
- brand
- location
汽车服务
:
- id
- car_id
- service_id
服务
- id
- service_name
我想做的是获取service_name
列表,其中包含特定位置出现的汽车数量(按出现情况排序)。
例如 - 我想知道德克萨斯州最重要的汽车服务是什么。
如果我解释的方式变得复杂,我很抱歉 - 如果是这样,我会尽力解释得更好。
提前谢谢您。
最佳答案
据我了解,您想要这样的结果:
service_name | location | count
-------------+------------+------
service 1 | location 1 | 5
service 2 | location 1 | 4
service 1 | location 2 | 2
这应该通过这样的查询来实现:
SELECT services.service_name, cars.location, count(*) as count
FROM services
JOIN car_services on services.id = car_services.service_id
JOIN cars on cars.id = car_services.car_id
GROUP BY services.service_name, cars.location
ORDER BY count DESC
关于MySQL 组 - 跨 3 个表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28731279/