SQL Делить или группировать фиксированные записи вместе - PullRequest
0 голосов
/ 16 января 2019

У меня есть следующая проблема SQL, учитывая таблицу с определенным столбцом, например tableX:

col1
123
321
456
321
982
666
100
...

количество строк в этой таблице может варьироваться (даже быть 0).Что мне нужно, это разделить строки на отдельный текст.

Например, я мог бы поместить все значения в одну строку, используя это

SET @LIST= (SELECT ',''' + col1+'''' FROM Table FOR XML PATH(''))

('123','321','456','321',...) -- < can be too long

, но проблема в том, что @LISTстановится слишком длинным, поэтому я хочу разделить его на основе количества записей в нескольких (под) списках.Например, фиксированный размер (например, максимум 3 элемента) всегда будет смотреть на три элемента, пока ничего не останется.Я думал об использовании какой-то петли

// some Kind of Loop

('123,321,456')

// end some Kind of loop
and in the next Loop
('321,982,66')

and finally (if less than 3 are remaining) only

('100')

как мне этого добиться?

edit: база данных представляет собой базу данных MSSQL.При необходимости я могу отсортировать записи, но они также содержат символы (не только числовые).на самом деле порядок не имеет значения.

...