mysql left join查询,右表关联数据不唯一,如何使查询结果唯一

再看我一眼 2014-12-24 03:44:34
a left join b on a.id = b.a_id 但是b表里可能有两条记录的a_id字段是相同的

如何写语句才能使结果(每一条a表的记录对应的)只有一条?
...全文
1600 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
再看我一眼 2014-12-24
  • 打赏
  • 举报
回复
目前是6表联查.... 其中两个表有这样的问题 记录数大约百万级 单条数据各个表全部加起来有四百多个字段 已经很慢了 规则比较复杂 ... 总的来说是希望在上述b表中的两条中选最新一条作为关联数据..... 如果能在不太影响效率的情况下实现就好了...
  • 打赏
  • 举报
回复
楼上的用法更聪明一些啊
一起混吧 2014-12-24
  • 打赏
  • 举报
回复
select * from a left join b on a.id = b.a_id group by a.id
xuzuning 2014-12-24
  • 打赏
  • 举报
回复
影响多少是有一点的,但你的要求比较怪异,也只能这样了
再看我一眼 2014-12-24
  • 打赏
  • 举报
回复
引用 楼主 anyilaoliu 的回复:
a left join b on a.id = b.a_id 但是b表里可能有两条记录的a_id字段是相同的

如何写语句才能使结果(每一条a表的记录对应的)只有一条?


这样相当于子查询了吧 效率会受到很大影响吗?
xuzuning 2014-12-24
  • 打赏
  • 举报
回复
select * from a left join (select * from b group by a_id) T on a.id = T.a_id

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧