Bạn cần thêm một cột có tên là Level
(hoặc bất cứ điều gì bạn muốn gọi nó) - cả đối với SELECT "neo" cũng như phần đệ quy của CTE của bạn - như thế này:
WITH CategoryRec AS
(
SELECT Id, Parentid, Name, 1 AS 'Level'
FROM dbo.Category
UNION ALL
SELECT cr.Id, c.Parentid, cr.Name, cr.Level + 1
FROM CategoryRec AS cr
INNER JOIN dbo.Category AS c ON cr.Parentid = c.Id
WHERE c.Parentid IS NOT NULL
)
SELECT DISTINCT Id, Parentid, Name, Level
FROM CategoryRec