我想用良好的性能方法构建 SQL 查询。我需要选择所有类别并计算与此类别相关的波段。
结构:
乐队:
 id       | band_name      |cat_id
----------|----------------|------------
 1        | Business 1     | 1  
 2        | Business 12    | 2
 3        | Business 123   | 2
类别:
id        | name           
----------|----------------
 1        | Business 1     
 2        | Business 12    
 3        | Business 123   
连接:
id        | band_id        |cat_id
----------|----------------|------------
 1        | 1              | 1  
 2        | 2              | 1
 3        | 2              | 1
询问:
SELECT c.name AS category_name, (SELECT COUNT(icc.band_id) FROM cms_bands_categories_connections AS icc RIGHT JOIN cms_bands AS ib ON icc.band_id = ib.id) AS bands_sum FROM 
                    cms_bands_categories AS c 
                 JOIN cms_bands_categories_connections AS cc ON 
                    c.id = cc.category_id 
                GROUP BY
                    c.id
结果很奇怪——bands_sum 在每行中都等于 3。不要责怪我的结构——由于需求规范的变化,我不得不修改它。