mysql语句连接查询时多对一,选取特定条数的问题.
以下详情:
有两个表 :
表T为基本信息,ID NAME 等字段;
表S有 ID TID TIME等字段;
两表关系是 S表依T表而存
S内的TID字段为表T的ID,S内的每一个字段必定对应T表内的一个字段,而T表却可能对应一条或多条S表字段,但也可能没有S表字段与之对应。
现在的sql语句为
SELECT t.id,t.name,s.id,s.time FROM t left join s on t.id=s.tid group by t.id order by t.id;
有需求,联表查询两个表,T left join S group by T.ID 要求结果中如果有s.time字段,要最大的那一个。
而现在只能查出来第一个TIME字段。
难于T字段不一定有S表字段,所以没法用order by s.time。。。求大神给个方案。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
先排序s表,然后聚合group by tid,再join。。逻辑上是这样,可以适度优化