通过JDBC实现SQL Server的FIRST函数



我正在构建一个具有SQL Server数据库连接的冷融合应用程序。我需要组记录,只返回组中的第一个。我在coldfusion中编写了以下查询。

SELECT FIRST(ID)
FROM table
GROUP BY NAME

返回以下错误:

[Macromedia][SQLServer JDBC Driver][SQLServer]'first'不是可识别的内置函数名。

在coldfusion查询中使用第一个函数是一种方法吗?

是否有其他方法来完成此操作?

*我不能直接访问数据库。只是一个访问冷聚变数据的连接

FIRST在SQL Server中无效(您必须考虑访问)。也许你的意思是:

SELECT NAME, MIN(ID)
FROM dbo.table
GROUP BY NAME;

在SQL Server "Denali"中,您将能够将FIRST_VALUE/LAST_VALUE与窗口函数结合使用。

FIrst和Last在Sql Server 2005和2008中不存在,但在Sql Server 2012中有FirstValue, LastValue函数。我尝试在Sql Server 2005中实现聚合First和Last,但遇到了一个障碍,即Sql Server不保证按定义的顺序计算聚合。(参见属性SqlUserDefinedAggregateAttribute。IsInvariantToOrder属性,该属性未实现。)这可能是因为查询分析器试图在多个线程上执行聚合的计算并组合结果,这加快了执行速度,但不能保证元素聚合的顺序。

相关内容

  • 没有找到相关文章

最新更新