2010-12-12 61 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的總和除以

相關問題