日期:2014-05-17  浏览次数:20472 次

关于分组递增的问题,请指教,谢谢。
有如下数据待插入
8506943
8506943
8506943
8506943
8506995
8506995
8506995
假设当前最大ID=8506995
分组递增之后想把上面的数据变成
8506996
8506996
8506996
8506996
8506997
8506997
8506997
求指教,谢谢。

------解决方案--------------------

WITH a1 (id) AS
(
SELECT 8506943 UNION ALL
SELECT 8506943 UNION ALL
SELECT 8506943 UNION ALL
SELECT 8506943 UNION ALL
SELECT 8506995 UNION ALL
SELECT 8506995 UNION ALL
SELECT 8506995
)
,a2 AS
(
SELECT MAX(id) id FROM a1
)
SELECT (select id FROM a2)+DENSE_RANK() OVER(ORDER BY id) AS id
FROM a1