2013-05-21 2 views

ответ

8

Используйте функцию ROW_NUMBER(), это один из Ranking Functions в SQL Server:

WITH CTE 
(
    SELECT 
    ROW_NUMBER() OVER(ORDER BY name) AS row, 
    name, 
    family 
    FROM tablename 
) 
SELECT * FROM CTE; 
1

Попробуйте один -

запрос:

DECLARE @temp TABLE 
(
     name VARCHAR(20) 
    , family VARCHAR(50) 
) 

INSERT INTO @temp (name, family) 
VALUES 
    ('a', 'aa'), 
    ('b', 'bb'), 
    ('c', 'cc'), 
    ('d', 'dd') 

SELECT 
     [Row] = ROW_NUMBER() OVER(ORDER BY (SELECT 1)) 
    , name 
    , family 
FROM @temp 

Выход:

Row name family 
----- ------- ------- 
1  a  aa 
2  b  bb 
3  c  cc 
4  d  dd 
Смежные вопросы