如何编写SQL统计每部电影各性别演员人数 附大表无Join优化方案
SQL按性别统计每部电影对应性别演员人数实现方案
需求说明
我有一个数据库,包含如下数据表结构:
需要编写SQL查询,为库中每部电影按性别分行统计对应性别的演员人数,输出结果需符合以下格式:
要求每部电影的每个性别都单独占一行。
实现优化说明
M_Cast表数据量极大,直接关联M_Cast表的查询执行耗时很长,最终采用了无需使用Join的实现方案,查询速度提升明显。
参考实现代码
With MA_Pair AS ( Select TRIM(MID) MID, TRIM(PID) PID From M_Cast Group By MID, PID ) Select map.MID, p.Gender, Count(*) From Person p, MA_Pair map Where TRIM(p.PID)=map.PID Group By map.MID, p.Gender
内容的提问来源于stack exchange,提问作者Aman Savaria
相关产品推荐
相关产品推荐

