从数据库中获取数据时出现问题。
问题是当我想从1个字段中仅获取1行时。
示例:
在表ms_file中,我有2个字段(product_id,路径)
具有相同的product_id。
如果我使用联接到该表(ms_file),则在使用group by时出现错误
list不在GROUP BY子句中,并且包含未聚合的列...。在功能上不依赖于GROUP BY子句中的列;
因为此查询,我们获得了具有相同product_id的不同2行
如何解决?
select ms_product.*, ms_file.path, users.name as users_name, ms_subcategory.name as subcategory from ms_product
left join users ON users.id = ms_product.users_id
left join ms_subcategory ON ms_subcategory.id = ms_product.subcategory_id
left join ms_file ON ms_file.product_id = ms_product.product_id
where ms_product.status = "A" group by ms_product.product_id order by ms_product.created_at desc LIMIT 4
如果我在上面的此查询中未输入GROUP BY,则没有错误。但是此查询将显示ms_file中的2行
如果我在上述查询中使用GROUP BY,则报错。
答案 0 :(得分:0)
已解决,我使用concat组并通过php爆炸以获得第一个数组。