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

wq67200976:假设有数据表 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 语句查出来

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

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

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

mysql 这种情况怎么查?

qaqLjj: 如图,怎么查询同时掌握了第一张表所有技能的员工呢? 也就是说,希望的结果如下: emp 神崎 相田

mysql 查询

shimingzhoudf:A 表有 1,2,3,4 个字段 我现在查询结果需要是这样 表名 中文名 1 2 3 4 数据 x x x x x ... ... .. .. .. .. 其实中文名就是 4 字段的值 我看别人这样写过: select 4 中文名, * where 表名; 但我自己用老报语法错误shimingzhoudf:语法是这样 select…

Mysql 数据库锁的一个问题

huntcool001:默认隔离级别 可重复读, autocommit=1, 建表:CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `age` tinyint(3) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_age` (`ag…

求助一条 MYSQL 查询语句,以甲表字段内容,查出乙表的另外一个字段内容,合并输出。。。

qazwsxkevin:stu 表有一个字段是"name" name 有重复 registu 表也有`name`和`stuid`两个字段 把 stu 表里的 name + registu 表的`stuid`,查询出来,感谢各位解答...Gatsbywl:join 连接? yeqizhang:你没解释清楚。你重复名字,应该是不同人?反正就是连接查询,结果中拼接…

一个 mysql 库容纳多少个表会比较明显的影响速度?

l890908:理论上来说基本上没有限制(42 亿多),但是同时访问的表越多,文件描述符就越多,从操作系统角度来说还是有影响的;那么在实操过程中多少个表会比较明显的影响速度?qiayue:可以不用考虑极限了,按照业务分库分表即可。举例我们的统计 SDK,每个接入的 app 都给一个单独的库,这样不同 app 互不影响。