当前位置: 首页 > 面试题库 >

SQL Server按日期获取最新值

汤洋
2023-03-14
问题内容

我有一个具有project_id int,update_date datetime和update_text varchar(max)的SQL Server表

该表的每个project_id都有许多更新。我需要通过update_date获取所有project_id值的最新信息。

例子:

project_id update_date update_text
1 2017/01/01新年快乐。
2 2017/01/01不错的更新
2 2017/02/14情人节快乐
3 2016/12/25圣诞快乐
3 2017/01/01新年是一件好事

该查询应获得:

project_id update_date update_text
1 2017/01/01新年快乐。
2 2017/02/14情人节快乐
3 2017/01/01新年是一件好事

问题答案:

使用 top with tiesrow_number()

select top 1 with ties
  project_id, update_date, update_text
from projects
order by row_number() over (partition by project_id order by update_date desc)

extrester演示:http://rextester.com/MGUNU86353

返回

+------------+-------------+----------------------------+
| project_id | update_date |        update_text         |
+------------+-------------+----------------------------+
|          1 | 2017-01-01  | Happy new year.            |
|          2 | 2017-02-14  | Happy Valentine's          |
|          3 | 2017-01-01  | A New year is a good thing |
+------------+-------------+----------------------------+


 类似资料:
  • 问题内容: 我正在使用ftplib连接到ftp站点。我想获取最新上传的文件并下载。我能够连接到ftp服务器并列出文件,我也将它们放在列表中并进行了转换。是否有任何功能/模块可以获取最新日期并从列表中输出整行? 解决: 一个问题,是否可以从字典中检索第一个元素?我在这里所做的是,for循环仅运行一次并退出,从而为我提供了一个很好的第一个排序值,但是我认为以这种方式进行操作不是一个好习惯。 问题答案:

  • 问题内容: 我下面有日期数组 并想知道 最近的日期, 例如:最接近今天的日期。 我怎样才能做到这一点? 问题答案: 循环执行,将值转换为日期,然后将最新的值存储在var中。 诸如此类的东西…您就知道了如果您想获得今天之前的最新信息:

  • 我有一个熊猫DataFrame看起来像这样: 我的目标是能够为每个项目计算每个日期之间的价值差异。例如,我想找到A项: 12(32-20,因为最大年份是2012年,最小年份是2010年)和B项:20 (40 - 20,因为最大年份是2019年,最小年份是2016年)。 我使用以下代码获取每个项目的年最大值和年最小值: 然后,我找到每个项目的年份最小值和年份最大值。然而,我坚持做我想要的。

  • 问题内容: 我有一个这样的收藏: 我如何从MongoDB获得最新记录,而日期时间是最新记录?我只想要一条记录。 问题答案: 使用和:

  • 问题内容: 现在我用下面的查询按每篇文章的auto_increment id进行即时排序 我想知道如何按我创建的日期字段排序,该字段通过strtotime()存储当前日期,它应该查询从最新到最旧的日期。 当前代码 问题答案: 只需更改ORDER BY中的列即可:

  • 问题内容: 给定此基准日期: 我想在列表中找到一个包含最接近日期的元组,但是它不能是更早的日期。 所以这里的输出应该是(它不能是第三个元组,因为那里的日期早于基准日期) 我的问题是,是否存在用于此类日期比较的任何模块?我试图先将所有数据更改为格式,然后进行比较,但是我的代码变得很丑陋,而且切片很多。 @编辑: 要测试的大清单: 要测试的大清单: 问题答案: 将日期转换为datetime对象,所以现