我有一个类似于下表的表格:

Name Current submission Submission Date
A 43-01 43-01 1-1-2019
A 43-01 42-01 1-1-2020
A 43-01 42-02 1-1-2021
A 43-01 42-03 1-1-2022

我希望它看起来如下所示:

Name Current submission Submission Date
A 42-03 43-01 1-1-2019
A 42-03 42-01 1-1-2020
A 42-03 42-02 1-1-2021
A 42-03 42-03 1-1-2022

下面是我用来获取第一个表的代码:

SELECT 
   Submission, 
   MAX(Submission) over (partition by Name) as [Current Submission], 
   Date
FROM Table_Name

我试着用MAX(Date)CASE WHEN个陈述,但我不能正确地理解逻辑……

推荐答案

最后一条 comments 发表时,我真的在写这篇文章.

select name, 
first_value(submission) over (partition by name order by date desc) as current_submission, 
submission, 
date
from my_table

Sql相关问答推荐

帮助修复查询以识别SQL DW中数据中的递归关系

如何以"% m—% d"格式对生日列表进行排序,以查找与今天最近的日期?

有没有办法在每次计算每一行的数据时更新2个值?

Lag()函数的差异:R与SQL(将R代码转换为SQL)

在Oracle中,如何删除具有特定值的行,仅当它是重复的行?

使用列表作为参数进行 Select ,如果为空,则在PostgreSQL中不使用参数进行 Select

两个不同星期的销售额,不加成一行

基于是否具有某些数据的关联表覆盖SELECT语句中的列值

在SQL GROUP BY中的某些行之后执行计算

如何将不同层次的产品组和规格组合到最深一层?

SQL JSON_QUERY 使用列中的值构造 json 路径并接收错误

将最近的结束日期与开始日期相匹配

SQL 中的第一个值和倒数第二个值

SQL for Smarties 类型问题:从表中 Select 记录,并对某些值进行分组

如何为给定的股票数据集计算利润/亏损,确保先卖出先买入的股票

在自引用表中使用分组和计数的SQL查询语句

每个ID的SQL返回可能的最低级别及其值

使用其他表 SUM 的交换价格转换价格并获得 AVG

SQL/Postgres:按日期和其他属性对相关性能进行分组

在 ATHENA 的字符串中 Select 一个字符串