这是我的表结构
公司表
|id|name|company_id
图片表
|id|file|type|company_id
现在,我正在尝试按类型从图像分组,它可以有2种类型(徽标|横幅),但如果我使用group by type
将对所有行执行此操作,而不仅仅是id =公司ID
到目前为止我的查询:
SELECT * FROM companies c
LEFT JOIN images i
ON i.comp_id = c.id
如上所述,如果我做以下
SELECT * FROM companies c
LEFT JOIN images i
ON i.comp_id = c.id
group by type
它会对所有行进行分组(正如您所期望的那样),那么我如何按类型进行分组,并且只能在company_id(来自图像)相同的位置进行分组?
答案 0 :(得分:1)
您可以按多个字段进行分组:
GROUP BY `type`, `company_id`
旁注:使用GROUP BY而不使用任何聚合函数通常是一个错误,并且大多数RDBMS都不会在没有指定所有非聚合字段的情况下让GROUP BY;但如果你正朝着这个方向努力,我是否正确?