left join 表里有多条记录,只取一条记录的方法
时间: 2023-06-14 14:08:05 浏览: 143
MySQL在右表数据不唯一的情况下使用left join的方法
5星 · 资源好评率100%
可以使用聚合函数 (Aggregate Function) 结合分组查询 (Group By) 的方式,来取出每个左表记录对应的一条右表记录。例如,假设左表为 A 表,右表为 B 表,连接条件为 A.id = B.a_id,我们可以使用以下 SQL 语句:
```
SELECT A.*, MAX(B.some_column)
FROM A
LEFT JOIN B ON A.id = B.a_id
GROUP BY A.id
```
这样就会取出每个 A 表记录对应的 B 表中某个字段的最大值,即只取一条 B 表记录。需要注意的是,如果 B 表中有多条记录的该字段值相等,那么只会取其中一条记录。
阅读全文