Соединение столбца в инструкции GROUP BY в SQL
В SQL обычным способом объединения или соединения столбцов на основе инструкции GROUP BY является использование комбинации агрегатных функций и строковых операторов. Давайте рассмотрим, как этого добиться.
Рассмотрим следующий пример таблицы:
Идентификатор | Пользователь | Действия | URL страницы |
---|---|---|---|
1 | i | act1 | ab |
2 | i | act1 | cd |
3 | вы | act2 | xy |
4 | ты | действуй2 | st |
Чтобы объединить значения PageURL для каждого пользователя и группы действий, разделенные запятыми, мы можем использовать следующий запрос:
SELECT [пользователь], действие, STUFF((SELECT ',' URL страницы FROM имя таблицы WHERE [user] = a. [user] AND Activity = a. Activity FOR XML PATH ('')) , 1, 1, '') КАК список URL ИЗ имени таблицы КАК ГРУППА ПО [пользователь], активность
Декомпозиция запроса:
Полученная таблица будет иметь желаемый макет:
Пользователь | Действия | Список URL |
---|---|---|
Я | акт1 | ab, cd |
ты | act2 | xy, st |
Этот подход использует возможности агрегатных функций и строковых операций для эффективного объединения значений столбцов на основе операций GROUP BY, что делает его гибким решением для различных задач манипулирования данными.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3