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

在特定日期的最大日期返回值

徐茂材
2023-03-14
问题内容

这是我的SQL Server表

ID       Date       Value 
___      ____       _____
3241     9/17/12    5
3241     9/16/12    100
3241     9/15/12    20
4355     9/16/12    12
4355     9/15/12    132
4355     9/14/12    4
1234     9/16/12    45
2236     9/15/12    128
2236     9/14/12    323
2002     9/17/12    45

这似乎很容易做到,但我不知道为什么会被卡住。我只想为每个id选择max(date)和该max(date)处的值。我想忽略相对于每个ID而言不是max(date)的所有其他日期。

这是我希望表格看起来像的样子:

ID       Date       Value 
___      ____       _____
3241     9/17/12    5
4355     9/16/12    12
1234     9/16/12    45
2236     9/15/12    128
2002     9/17/12    45

我尝试通过使用max(date)进行分组,但没有进行任何分组。我不确定自己在做什么错。在此先感谢您的帮助!


问题答案:

您可以使用以下内容:

select t1.id, t2.mxdate, t1.value
from yourtable t1
inner join
(
  select max(date) mxdate, id
  from yourtable
  group by id
) t2
  on t1.id = t2.id
  and t1.date = t2.mxdate

观看演示



 类似资料:
  • 我有这张桌子。 我想选择按id分组的最大日期,并将NULL作为最大值包含在结果中,以获得类似结果。 我找到了一个解决方案,但它不包括NULL作为最大值,该解决方案通过@bluefeet返回特定id在最大日期的值 我还搜索了一个解决方案,看看我们如何在t-sql中选择NULL最大值,所以我通过@Damien_The_Unbeliever找到了这个解决方案如何在MIN或MAX中包含空值? 但我陷入了困

  • 问题内容: 我有以下postgresql语法,该语法返回WHERE session_date与$ date_string匹配的值 问题是有时$ date_string在表中不可用,所以我想返回最接近$ date_string的日期。 有什么想法可以做到这一点吗? 问题答案: 如果您想要最近的日期,请按照以下方式进行操作: 之后的最接近日期使用类似的逻辑。 对于最接近的一方:

  • 问题内容: 我想知道哪个是Javascript 对象允许的最小和最大日期。我发现最小日期大约是200000 BC,但是我没有得到任何参考。 有人知道答案吗?我只是希望它不依赖于浏览器。 最好以“纪元时间”(= 1970-01-01 00:00:00 UTC + 00的毫秒数)回答。 问题答案: 根据规范§15.9.1.1: Date对象包含一个数字,该数字指示毫秒内的特定时间点。这样的数字称为时间

  • 问题内容: 表格示例: 所需的输出(不是确切的格式或上市顺序),每台计算机上每个应用程序的最新安装: 我的SQL语句: 这给了我: 并不是 如我所料。 如果我 仅 选择MAX(date),而没有其他选择,则MAX(date)有效。但是,那时我没有任何数据可以使用(仅是最新日期)。 我不是SQL忍者,所以我很快就会因此而挠头。 问题答案: 尝试这样: 内部查询是为您获取每对计算机和应用程序的max(

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