Допустим, у вас есть этот набор записей в базе данных:Группировка по номеру строки в колонке
PartNumber Qty Group
A 1 1
B 2 1
C 3 1
B 4 1
a 1 2
B 2 2
C 3 2
B 4 2
Как мы можем придумать с этим результатом:
A 2
B 4
C 6
B 8
То есть, добавляя первая строка первой группы с первой строкой второй группы, вторая строка первой группы со второй строкой второй группы, третья строка первой группы с третьей строкой второй группы и так далее.
Примечание:
* - Я могу иметь кратные группы
* - Группы всегда будут иметь одинаковую длину (то есть такое же количество строк в группе)
* - В номерах изделий в группе всегда будут то же самое в том же порядке
* - Я могу иметь кратные PARTNUMBER повторение, то есть не только B повторить, но все из них на группу
Я знаю, что могу добавить новый столбец в таблице, чтобы иметь что-то вроде этого:
PartNumber Qty Group idx
A 1 1 1
B 2 1 2
C 3 1 3
B 4 1 4
a 1 2 1
B 2 2 2
C 3 2 3
B 4 2 4
и: выберите номер части, сумму (кол-во) из группы таблицы по idx
, но это точно, что я не могу сделать. Какие-либо предложения?
Какую версию sql-сервера вы используете? – JNevill
@JNevill «Microsoft SQL Server 2008 R2 (SP3)» – 0aps
Ваша таблица представляет собой просто неупорядоченный набор значений '(PartNumber, Qty, Group'. Следовательно, для каждой группы нет первой, второй и т. Д. Строк.Есть ли другой столбец, управляющий порядком в вашей таблице? –