Объединить строки, основанные на другом условии, и объединить другие строки, основанные на другом условии - PullRequest
0 голосов
/ 21 марта 2012

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

Name      Value
a           1
b          23
c          15 
d          57 
e          98 

Мне нужно преобразовать ее в это:

New Name      Value
a-c           39        (a+b+c)
d-e           155       (d+e)

1 Ответ

1 голос
/ 21 марта 2012

Если вы хотите сгруппировать по 3 с, попробуйте:

select min([Name]) + '-' + max([Name]) [New Name], sum([Value]) [Value]
from
(select [Name], [Value], row_number() over (order by [Name]) rn
from myTable) sq
group by floor((rn-1)/3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...