首页 > 解决方案 > 使用连接按多列分组

问题描述

我有三个名为 bus、bustype、depo 的表。bus 表包含来自 bustype (bustypeid) 和 depo(depoid) 的总线名称和外键。总线类型为 SF、FP、LS 等,并且存储库表包含不同的存储库。

我需要获取按 depos 分组的巴士列表,然后再按 bustype 分组。

表 - 总线

busid   busname   depoid    bustypeid   
    1      KL-15 4567   7      1             
    2      KL-04-54     4      1             
    3      KL-02-11     7      3             
    4      KL-02-15     7      2

表 - 总线类型

bustypeid   busname   
    1           SF           
    2           FP             
    3           LS 

表 - 仓库

 depoid       deponame
   7             depo1
   4             depo2

我写了查询以按bustypeid分组,即

SELECT COUNT(busid) as availability,BS.bustype, B.depoid FROM `bus` as B inner join bustype as BS on B.`bustypeid`=BS.bustypeid GROUP BY BS.bustype

现在我也需要再次按 depo 分组。结果可能看起来像,

availability    bustype depoid  
1                FP     7
1                LS     4
2                SF     7

标签: phpmysql

解决方案


只需将其添加到group by子句中:

 .... GROUP BY BS.bustype, depoid  

推荐阅读