php - 在有 2 行的 1 个字段上仅选择 1 行
问题描述
从我的数据库中获取数据时出现问题。
问题是当我只想从 1 个字段中获取 1 行时。
例子 :
在表 ms_file 我有 2 个字段(product_id,路径)
- ..../dir/bg.1
- ..../dir/bg.2
具有相同的 product_id。
如果我使用加入此表(ms_file)我在使用 group by 时出错
列表不在 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,我得到了错误。
解决方案
已解决,我使用组 concat 并通过 php 爆炸来获取第一个数组。
推荐阅读
- php - 是否有必要在 laravel 迁移中定义外键约束?
- javascript - 是否可以在页面加载时(登录前)从 javascript 中的 aws cognito 检索用户属性?
- react-testing-library - 使用反应测试库测试输入事件
- excel - 在 Excel 工作表上查找哪些单元格被其他工作表引用
- powershell - 如何通过网络等待权限被拒绝类型错误
- html - 在浏览器中显示不同大小的css网格
- node.js - TypeError:无法读取未定义 goormIDE 的属性“推送”
- ios - Swift:textField 侦听器不响应文本更改
- python - Linux 中的 Pandas 失败,Windows 中未发生 - 缺少 _data 属性
- javascript - 将值返回到另一个嵌套函数中的函数