SQL Server 2000 并不正式支持自定义聚合函数。但是,我最近也需要该功能,我发现这篇文章很有启发性:
http://weblogs.sqlteam.com/jeffs/articles/1490.aspx
不过,这有点黑客行为:它需要访问sp_OA___
扩展过程。
总之,您可以使用一系列四个包装函数来模拟聚合函数,每个包装函数执行以下任务之一:
然后,您将项目 2和3 包含在查询的选择列表中,并且项目 2 还必须包装在现有的无效聚合函数(例如 MAX() 或 MIN())中。您还可以将此技术用于累积函数来执行行号等操作。
一些评论表明优化器可能会尝试通过在某些情况下优化掉调用来消除聚合效应,尽管我预计这确实是一种非常罕见的情况。然而,我发现了这个问题,因为我足够认真地对待这些警告,以继续寻找更好的东西。
归档时间: |
|
查看次数: |
9065 次 |
最近记录: |