跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • mysql leftjoin ,一对多,如何关联到右表最新的记录
未分類
8 9 月 2020

mysql leftjoin ,一对多,如何关联到右表最新的记录

mysql leftjoin ,一对多,如何关联到右表最新的记录

資深大佬 : wq67200976 4

假设有数据表 user, user_login,
user 表,
id | uid
1 | 1001
2 |002

user_login 表

id | uid | content

1 | 1001 | 数据 1 |
2 | 1002 | 数据 2 |
3 | 1001 | 数据 3|
4 | 1001 | 数据 4 |
5 | 1002 | 数据 5|

现在将 user 表当主表,左连接查询 login 表,
select * from user as t1 left join (select max(id),content group by uid)
这样查到的结果 uid 和 content 对不上,也就是会随机选择一个值,

像这种情况想要根据主表的 uid,不同的 uid 匹配关联表中 uid 相等的最新一条记录该如何做。

这个表字段等都是随手写的,不用考虑太多,像这种能不能通过只通过 sql 语句查出来

大佬有話說 (2)

  • 資深大佬 : yeqizhang

    右表建议再包装一层查 maxID 记录的 content 。

    不知道我印象中有问题还是新的特性啥的,我之前用 group by,结果中只能是 group by 后的字段加聚合函数之类的

  • 資深大佬 : nuistzhou

    可以先用 group by 处理 login 表拿到每个 uid 的最新 id 的 record,然后插回 user 表吧,应该就没有多对一插入这种随机问题性了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具