如何统计各城市用户开设的各课程数量(MySQL实现)
统计各城市用户开设课程数量的MySQL查询语句
以下是满足需求的MySQL代码,通过关联多张表并分组统计,得到各城市用户开设的课程数量报表:
SELECT c.name AS City, co.name AS Course, COUNT(o.id) AS Count FROM City c JOIN User u ON c.id = u.city_id JOIN Offer o ON u.id = o.user_id JOIN Course co ON o.course_id = co.id GROUP BY c.name, co.name ORDER BY c.name, co.name;
逻辑说明
- 通过
JOIN关联四张表:将城市表与用户表通过city_id关联,用户表与课程开设表通过user_id关联,课程开设表与课程表通过course_id关联,确保数据的关联性。 - 使用
GROUP BY按城市名称和课程名称分组,对每个分组的开设记录数进行统计。 ORDER BY用于对结果按城市和课程名称排序,让报表结构更清晰。
内容的提问来源于stack exchange,提问作者Maria Brands
相关产品推荐
相关产品推荐

