0

我有一个表节点。我希望该特定节点类型的相同 id 编号在相同的范围内,例如 1 到 9999,另一个节点类型在 1000 到 1999 的另一个范围内。你能给我一个如何做到这一点的例子吗?这是一个 SQL 查询。

4

1 回答 1

1
DECLARE @T TABLE (NODEDE_ID BIGINT)

INSERT INTO @T VALUES
(170999000),
(172677777),
(177333335)

;WITH CTE AS
(
    SELECT NODEDE_ID,ROW_NUMBER() OVER (ORDER BY NODEDE_ID) [ROW_NUM]
    FROM @T
)
SELECT NODEDE_ID,
CAST(CASE WHEN (ROW_NUM > 1)
          THEN (ROW_NUM - 1) * 1000
          ELSE 1 
      END AS VARCHAR) + ' to ' +
CAST(CASE WHEN (ROW_NUM > 1)
          THEN ((ROW_NUM - 1) * 1000) + 999
          ELSE 999 
      END AS VARCHAR) [RANGE]
FROM CTE
于 2012-12-05T11:13:03.747 回答