有没有办法在SQL Server中执行FIRST()?

Eve*_*ien 4 sql-server

从旧的Access日期开始,有一个First()函数允许您将第一行作为聚合函数.SQL Server中有任何等价物吗?

SELECT
  c.ID
, p.ID
, FIRST(p.ProductName)
, SUM(fee.Amount)
from Fee as f
INNER JOIN Product as p
ON p.ID = f.ProductID
INNER JOIN Customer as c
ON c.ID = p.CustomerID
GROUP BY c.ID, p.ID
Run Code Online (Sandbox Code Playgroud)

编辑: 我只想要任何一行的值,因为它们都是一样的.我试图对数据库很好,让它给我发现的第一个:)

ang*_*son 5

这得看情况.

你的意思是"任何一行"?然后你可以使用MIN或MAX,它应该适用于大多数数据类型.

但是,如果你的意思是"你能找到的第一行",那么答案就是否定.

这类似于告诉数据库引擎"我希望你给我一个符合这些标准的特定行,其中一个标准就是你可以给我任何你想要的行".

这样做的原因是,除非您对行进行排序,否则首先没有概念,并且您无法以任何有意义的方式对行进行排序.