我有下表,它有 2 列。我需要编写一个返回 3 列的查询,前 2 列应与表中存在的 2 列匹配,第 3 列应分组为 n 个拆分。例如,在这种情况下,我想分成 4 个组。所以第 1 4 行应该在第 3 列中返回 1,第 2 4 行应该返回 2,第 3 4 行应该返回 3,最后是最后 3 行(因为总共有 15 行) 应该返回 4。
DECLARE @NAMES TABLE ( [ID] INT IDENTITY, [NAME] VARCHAR(20) )
INSERT INTO @NAMES SELECT 'NAME1'
UNION ALL
SELECT 'NAME2'
UNION ALL
SELECT 'NAME3'
UNION ALL
SELECT 'NAME4'
UNION ALL
SELECT 'NAME5'
UNION ALL
SELECT 'NAME6'
UNION ALL
SELECT 'NAME7'
UNION ALL
SELECT 'NAME8'
UNION ALL
SELECT 'NAME9'
UNION ALL
SELECT 'NAME10'
UNION ALL
SELECT 'NAME11'
UNION ALL
SELECT 'NAME12'
UNION ALL
SELECT 'NAME13'
UNION ALL
SELECT 'NAME14'
UNION ALL
SELECT 'NAME15'