【问题标题】:What is the practical use of FIRST_VALUE and LAST_VALUE of SQL Server 2012 (Code name: Denali) CTP 3SQL Server 2012的FIRST_VALUE和LAST_VALUE的实际用途是什么(代号:Denali)CTP 3
【发布时间】:2011-10-08 11:40:57
【问题描述】:

随着 Denali 的 CTP 3 发布,我们有更多的分析功能,我对其中两个感兴趣:

a) First_Value
b) Last_Value

我了解到FIRST_VALUE 基于分区和 order by 子句返回第一个值,而 Last_Value 基于 partition 和 order by 子句返回最后一个值。

但是在什么实际情况下它们会有用呢?一个示例实时情况将帮助我理解这一点。

【问题讨论】:

标签: sql sql-server tsql sql-server-2012


【解决方案1】:

这些函数可以帮助您从结果集中获取其他信息,而无需使用复杂的自联接、派生表等。例如,假设您在一个表中有 20 个论坛消息,并且您想知道是谁发起了该线程,以及谁发布了最后的回复。它们按日期/时间排序,因此虽然 MIN() 和 MAX() 可以帮助您识别 何时 第一篇和最后一篇文章发生,但除非您外出,否则它们无法告诉您这些作者是谁并以某种方式获得了额外的信息。即使这可能很复杂 - 例如,如果您没有自然或人工键列(您可以加入身份列),您可能会想加入日期/时间值,这些值不能保证是唯一的...

【讨论】:

  • +1 - 它基本上是在没有内置函数的情况下更复杂的事情的简写。
猜你喜欢
  • 2013-07-20
  • 2011-04-02
  • 2019-05-17
  • 2015-04-22
  • 2021-07-22
  • 1970-01-01
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多