T-SQL中真的没有First/Last聚合函数吗?

问题描述 投票:0回答:1

我作为一名(笨手笨脚/自学成才的)SQL 开发人员已经工作了一年多了,但 T-SQL 中没有 First/Last Aggregate 函数仍然让我感到困惑。这是我必须经常做的事情,我已经尝试了几种解决方法,包括窗口化的 LAST_VALUE() 和 FIRST_VALUE()、子查询、WITH 语句视图,但我觉得必须有一个最好的方法来做到这一点。

大家有什么意见吗?

tsql grouping aggregate-functions
1个回答
0
投票

T-SQL 中真的没有 First/Last 聚合函数吗?

否 - TSQL 中没有此类聚合函数。

FIRST
LAST
的问题在于,您需要一种方法来指定进入聚合的行应被视为具有某种顺序。

APPROX_PERCENTILE_CONT
STRING_AGG
都是TSQL聚合函数,do允许指定订单。

所以是一个集合

FIRST(Foo) WITHIN GROUP (ORDER BY Bar)

可以添加。但还没有。或者可能可以采用 Oracle 方法。我相信是这样的。

MIN(Foo) KEEP(DENSE_RANK FIRST ORDER BY Bar)
© www.soinside.com 2019 - 2024. All rights reserved.