当前位置: 首页 > news >正文

sql:1对多获取最新一条数据

假设A表为table_a,B表为table_b,它们之间通过主键ID关联。我们可以利用窗口函数ROW_NUMBER()来获取B表中每条A记录对应的最新一条B记录。以下是SQL语句:

SELECT a.*,b.*
FROM table_a a
LEFT JOIN (SELECT *,ROW_NUMBER() OVER (PARTITION BY id ORDER BY create_time DESC) as rnFROM table_b
) b ON a.id = b.id AND b.rn = 1;

在这个SQL语句中,我们首先使用了窗口函数ROW_NUMBER()对B表进行了排序,然后在外部查询中,我们将A表和这个排好序的B表做了左连接,连接条件是它们的id相同并且B表中的rn等于1,这样我们就得到了A表的全量数据以及每条数据对应的B表的最新一条数据信息。

http://www.lryc.cn/news/222192.html

相关文章:

  • CDN加速技术:降低企业云服务成本的有效利用
  • 设计模式——享元模式(Flyweight Pattern)+ Spring相关源码
  • vue3中el-tree设置默认选中节点和展开节点
  • 软件测试需求分析是什么?为什么需要进行测试需求分析?
  • GreenPlum简介
  • HTML和CSS入门学习
  • 轻量封装WebGPU渲染系统示例<17>- 使用GPU Compute之元胞自动机(源码)
  • fmx windows 下 制作无边框窗口最小化最大化并鼠标可拖移窗口
  • 【Python】11 Conda常用命令
  • 5G边缘计算网关 是什么?
  • mac电脑系统清理软件CleanMyMac X2024破解版下载
  • 19 款Agent产品工具合集
  • [尚硅谷React笔记]——第8章 扩展
  • 卷积神经网络中 6 种经典卷积操作
  • 下拉列表框Spinner
  • C++高级功能笔记
  • PTE SST和RL模板
  • 2023年03月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Mysql数据库 10.SQL语言 储存过程 中 流程控制
  • 测试用例的设计方法(全):错误推测方法及因果图方法
  • 折叠旗舰新战局:华为先行,OPPO接棒
  • ESP使用webserver实现本地控制
  • 小红书热点是什么,怎么找到热点话题!
  • mysql之子表查询、视图、连接查询
  • 001、Nvidia Jetson Nano Developer KIT(b01)-环境配置
  • Lua中如何使用continue,goto continue(模拟C++ C#的continue)
  • Single-cell 10x Cell Ranger analysis
  • 华为分享---手机往电脑发送失败的处理
  • 提升ChatGPT答案质量和准确性的方法Prompt专家
  • lightdb UPDATE INDEXES自动分区转换支持全大写索引名