SELECT FieldA
, GROUP_CONCAT(FieldB ORDER BY FieldB SEPARATOR ',') AS FieldBs
FROM TableName
GROUP BY FieldA
ORDER BY FieldA;
SELECT FieldA
, LISTAGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS FieldBs
FROM TableName
GROUP BY FieldA
ORDER BY FieldA;
SELECT FieldA
, STRING_AGG(FieldB, ',' ORDER BY FieldB) AS FieldBs
FROM TableName
GROUP BY FieldA
ORDER BY FieldA;
SQL Server & ge; 2017 & amp; Azure SQL
SELECT FieldA
, STRING_AGG(FieldB, ',') WITHIN GROUP (ORDER BY FieldB) AS FieldBs
FROM TableName
GROUP BY FieldA
ORDER BY FieldA;
SQL Server & le; 2016 (CTE включен для поощрения принципа DRY )
WITH CTE_TableName AS (
SELECT FieldA, FieldB
FROM TableName)
SELECT t0.FieldA
, STUFF((
SELECT ',' + t1.FieldB
FROM CTE_TableName t1
WHERE t1.FieldA = t0.FieldA
ORDER BY t1.FieldB
FOR XML PATH('')), 1, LEN(','), '') AS FieldBs
FROM CTE_TableName t0
GROUP BY t0.FieldA
ORDER BY FieldA;
Для заказа требуется CTE или подзапрос
WITH CTE_TableName AS (
SELECT FieldA, FieldB
FROM TableName
ORDER BY FieldA, FieldB)
SELECT FieldA
, GROUP_CONCAT(FieldB, ',') AS FieldBs
FROM CTE_TableName
GROUP BY FieldA
ORDER BY FieldA;
Без заказа
SELECT FieldA
, GROUP_CONCAT(FieldB, ',') AS FieldBs
FROM TableName
GROUP BY FieldA
ORDER BY FieldA;
Это походит на идеального кандидата на язык как Erlang. Масштабирующиеся свойства языка очень хороши, но если Вы волнуетесь по поводу способностей к обработке данных, Вы не должны быть. Это - очень мощный язык со многими библиотеками, доступными разработчикам. Это - старый язык, и это в большой степени использовалось/тестировалось в прошлом так все, что Вы хотите сделать, был, вероятно, уже сделан до некоторой степени.
Удостоверьтесь, что Вы используете erlang версию R11B5 или более новый! Более ранние версии erlang не обеспечили, способность к тайм-ауту tcp отправляет. Это приводит к остановленной или злонамеренной клиентской способности выполнить DoS-атаку на Вашем приложении путем отказа к recv данным, которые Вы отправляете им, таким образом запирая процесс отправки.
Посмотрите выпуск OTP-6684 от информация о версии .
R11B5С Erlang масштабируемость и надежность там, но из Вашего определения проекта Вы не обрисовываете в общих чертах, в какой обработке текста Вы будете нуждаться.
я думаю, что основное ограничение Erlang могло бы находить опытных разработчиков в Вашей области. Проведите некоторое исследование на доступности архитекторов Erlang и кодеров.
, Если Вы собираетесь самостоятельно учиться или сделать, чтобы Ваши разработчики учились, это на задании имеет в виду, что это - совсем другой способ кодировать и что, в то время как базовая документация хороша, большому количеству людей действительно жаль, что не было большего количества примеров. Конечно, очень активное сообщество легко восполняет это.
я понимаю, что возможности обработки текста Erlang могли бы оставлять желать лучшего.
скворец проект уже оказывает основную unicode поддержку и существует EEP (Предложение по Улучшению Erlang) в настоящее время в проекте, но входе для обеспечения его в господствующую тенденцию поддержки Erlang/OTP.