我有一个表节点。我希望该特定节点类型的相同 id 编号在相同的范围内,例如 1 到 9999,另一个节点类型在 1000 到 1999 的另一个范围内。你能给我一个如何做到这一点的例子吗?这是一个 SQL 查询。
问问题
48 次
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 回答