Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Количество повторяющихся значений столбцов  [new]
exw777
Member

Откуда:
Сообщений: 41
USE snapshot
INSERT INTO snapshot.dbo.finalbase
SELECT MachineID, ???, DeviceID00 from CM_CM1.dbo.sourcebase

Необходимо заполнить три столбца,
1 столбец - MachineID может встречаться несколько раз подряд
2 столбец - номер устройства для конкретного MachineID,
3 столбец - DeviceID, оно как правило уникально.
т.е. если в CM_CM1 была таблица

MachineID DeviceID
16777242__ASUS123
16777245__ACER777
16777246__ASUS456
16777242__ACER778
16777242__ACER779
16777248__ACER780

создать на основе неё нечто вроде

MachineID Instance DeviceID
16777242____1_____ASUS123
16777245____1_____ACER777
16777246____1_____ASUS456
16777242____2_____ACER778
16777242____3_____ACER779
16777248____1_____ACER780
так понимаю через count но вопрос что считать текущий номер повтора в исходной таблице или через общее кол-во повторений в результируемой?
31 мар 14, 12:02    [15810207]     Ответить | Цитировать Сообщить модератору
 Re: Количество повторяющихся значений столбцов  [new]
Glory
Member

Откуда:
Сообщений: 104751
exw777
создать на основе неё нечто вроде

ROW_NUMBER() OVER ...
31 мар 14, 12:05    [15810232]     Ответить | Цитировать Сообщить модератору
 Re: Количество повторяющихся значений столбцов  [new]
west74
Member

Откуда: Челябинск
Сообщений: 76
declare @t table (id int,MachineID int,DeviceID varchar(20))

insert into @t(id,MachineID,DeviceID) values
(1,16777242,'ASUS123'),
(2,16777245,'ACER777'),
(3,16777242,'ACER778'),
(4,16777246,'ASUS456'),
(5,16777242,'ACER779'),
(6,16777248,'ACER780'),
(7,16777246,'ASUS956')


select MachineID,
Row_number() OVER (Partition by MachineID order by id ) as Instance,
DeviceID
from @t order by id
31 мар 14, 12:57    [15810694]     Ответить | Цитировать Сообщить модератору
 Re: Количество повторяющихся значений столбцов  [new]
exw777
Member

Откуда:
Сообщений: 41
west74,
а запрос через
(Partition by MachineID order by MachineID )

без отдельного id хуже ни чем не будет?
31 мар 14, 13:34    [15810993]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить