Posts Tagged ‘SQL’

5 cпособов сделать агрегацию строк в SQL Server'е

Иногда возникает необходимость осуществить агрегацию строк в SQL запросе, то есть, по такому набору данных:

GroupId Item
1 AAA
2 IS
5 OMG
2 WHAT
2 THE
1 This

получить примерно такой:

GroupId ItemList
1 AAA,This
2 IS,WHAT,THE
5 OMG

MySQL, например, для таких целей обладает встроенной функцией GROUP_CONCAT():

SELECT GroupId, GROUP_CONCAT(Item SEPARATOR ",") AS ItemList
FROM Items

В MS SQL Server'e такой функции нету, поэтому приходится извращаться. Перед тем, как приступить, сделаем скрипт для создания тестовой таблицы:

CREATE TABLE Items(GroupId INT, Item NVARCHAR(10))
 
INSERT INTO Items(GroupId, Item)
SELECT 1 AS GroupId, 'AAA' AS Item
  UNION ALL
SELECT 2, 'IS'
  UNION ALL
SELECT 5, 'OMG'
  UNION ALL
SELECT 2, 'WHAT'
  UNION ALL
SELECT 2, 'THE'
  UNION ALL
SELECT 1, 'This'

Итак, начнем.
Читаем дальше

Как выучить SQL

Самый простой, эффективный и быстрый метод выучить язык SQL — тренироваться. Скажу откровенно: можно много умных книжек, статей и документации прочитать по SQL, но без практики знания наверняка будут малоприменимыми. Так вот, самый лучший способ тренироваться — решать упражнения по SQL на сайте sql-ex.ru. Задачи там начинаются с очень простых и постепенно усложняются. Я, честно говоря, до последней пока не добрался — завис на 137-м упражнении.

Да, еще немаловажен тот факт, что на сайте есть рейтинг участников и система выдачи сертификатов участникам, решившим определенное количество задач. Я считаю, что качество сертификата c sql-ex позволяет быть уверенным в глубоком понимании языка SQL его обладателем. Кроме того, обладание сертификатом «All requirements» поднимает ЧСВ на несколько пунктов.

натяжные потолкизатопили вытяжка для кухни варочные панели