SQL 查询相同记录下日期最大的一条数据

日期 编号 仓库 数量
2012-05-31 C001 A店 136
2012-05-29 C001 A店 139
2012-05-29 C001 B店 5
2012-05-30 C001 B店 6

我只显示最大日期的记录,这个SQL怎么写呀?

日期 编号 仓库 数量
2012-05-31 C001 A店 136
2012-05-30 C001 B店  6

SQL code:

方法一:

1
select * from tb t where not exists(select 1 from tb where `编号`=t.`编号` and `仓库`=t.`仓库` and `日期`>t.`日期`)

 方法二:

1
SELECT * FROM tb T, (SELECT `编号`,MAX(`日期`) rq FROM tb GROUP BY `编号`) t2 where t.`编号`=t2.`编号` and t.`日期`>=t2.rq

 方法三:

1
select * from tb a where a.`日期` in (select max(b.`日期`) from table b where b.id=a.id)

 

posted @   47号Gamer丶  阅读(2310)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示