SELECT F2,F3,F4,F5,COUNT(*)
FROM [MYTEST]
GROUP BY F2,F3,F4,F5
DECLARE @F2 INT
DECLARE @F3 INT
DECLARE @F4 INT
DECLARE @F5 INT
DECLARE @I INT
DECLARE @T INT
DECLARE @C INT
SET @I=1
DECLARE ONE_CURSOR CURSOR FOR
SELECT F2,F3,F4,F5
FROM [MYTEST]
GROUP BY F2,F3,F4,F5
OPEN ONE_CURSOR
FETCH NEXT FROM ONE_CURSOR INTO @F2, @F3, @F4,@F5
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @C= COUNT(*) FROM [MYTEST] WHERE F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5
SET @I=1
IF @C<=10
BEGIN
UPDATE [MYTEST] SET F6=@I WHERE F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5
END
ELSE
BEGIN
--取10条
WHILE @C> (@I-1)*10
BEGIN
UPDATE [MYTEST] SET F6=@I
WHERE
F1 in ( select top 10 F1 from [MYTEST] where
F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5
and F1 not in (select top ((@I-1)*10) F1 from [MYTEST] where
F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5 order by f1)
order by f1
)
SET @I=@I+1
END
END
SET @I=1
FETCH NEXT FROM ONE_CURSOR INTO @F2, @F3, @F4,@F5
END
CLOSE ONE_CURSOR
DEALLOCATE ONE_CURSOR
FROM [MYTEST]
GROUP BY F2,F3,F4,F5
DECLARE @F2 INT
DECLARE @F3 INT
DECLARE @F4 INT
DECLARE @F5 INT
DECLARE @I INT
DECLARE @T INT
DECLARE @C INT
SET @I=1
DECLARE ONE_CURSOR CURSOR FOR
SELECT F2,F3,F4,F5
FROM [MYTEST]
GROUP BY F2,F3,F4,F5
OPEN ONE_CURSOR
FETCH NEXT FROM ONE_CURSOR INTO @F2, @F3, @F4,@F5
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @C= COUNT(*) FROM [MYTEST] WHERE F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5
SET @I=1
IF @C<=10
BEGIN
UPDATE [MYTEST] SET F6=@I WHERE F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5
END
ELSE
BEGIN
--取10条
WHILE @C> (@I-1)*10
BEGIN
UPDATE [MYTEST] SET F6=@I
WHERE
F1 in ( select top 10 F1 from [MYTEST] where
F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5
and F1 not in (select top ((@I-1)*10) F1 from [MYTEST] where
F2=@F2 AND F3=@F3 AND F4=@F4 AND F5=@F5 order by f1)
order by f1
)
SET @I=@I+1
END
END
SET @I=1
FETCH NEXT FROM ONE_CURSOR INTO @F2, @F3, @F4,@F5
END
CLOSE ONE_CURSOR
DEALLOCATE ONE_CURSOR