Есть ли у вас какие-либо совокупные функции, которые вы реализовали, поскольку стандартные из них были недостаточно хороши?Наиболее полезные функции агрегирования, заданные пользователем
9
A
ответ
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
1
Да. В Oracle я реализовал своего рода group_concat, потому что он недоступен в Oracle. Я сделал пару разных версий, которые делают простой concat с разделителями-запятыми. Другой делает то же самое, только сортируется. И есть еще один, который не использует запятую, а особый символ, поэтому результаты могут обрабатываться более легко, когда сами значения могут содержать запятую.
1
СРЕДНЕВЗВЕШЕННОЕ
PercentAcross - это сумма X, где условие истинно, деленная на сумму X.
Очень полезно. У меня тоже есть это. Я назвал его toCSV, но мне не очень нравится это имя. Что вы назвали? Любые лучшие идеи? –
@PAUL Mansour Я назвал свой «Concat» (сокращение от * concatenate *), но это не идеальное имя. –
SQL Server имеет интересную производительность конкатенации строк. Вот некоторые тесты производительности между 'select @var = @var + column' style SQL и пользовательским агрегатом с использованием .NET' StringBuilder': [graphs] (http://imgur.com/a/MRcha) SQL-based concat становится значительно медленнее, когда общая длина строки превышает 500 тыс. символов. – geofftnz