2010-12-12 75 views

回答

3

SQL Server的聚合函数,它生成逗号分隔的值列表

Title 
----------------- 
The Hobbit 
The Two Towers  --> The Hobbit, The Two Towers, Leaf by Niggle 
Leaf by Niggle 

这里是我的实现:A SQL CLR user-defined aggregate - notes on creating and debugging

+0

非常有用。我也有。我把它叫做CSV,但我不太喜欢那个名字。你打电话给你的是什么?任何更好的想法? – 2010-12-12 18:26:25

+0

@PAUL Mansour我将我的'Concat'命名为* concatenate *的缩写,但它也不是完美的名字。 – 2010-12-12 18:36:44

+1

SQL Server有一些有趣的字符串连接性能。以下是'select @var = @var + column'风格的SQL和使用.NET'StringBuilder'的用户定义的集合之间的一些性能测试:[graph](http://imgur.com/a/MRcha)基于SQL一旦总字符串长度超过500k字符,concat将显着变慢。 – geofftnz 2011-09-26 22:09:33

1

是的。在Oracle中,我实现了一种group_concat,因为它在Oracle中不可用。我做了几个不同的版本,用逗号分隔字符串做简单的连接。另一个也是一样的,只有排序。还有一个不使用逗号,而是一个特殊的字符,所以当值本身也可以包含逗号时,可以更轻松地处理结果。

1
  1. 加权平均

  2. PercentAcross - 这是X,其中一个条件是真正的总和,通过X的总和除以

相关问题