2014-12-02 4 views
0

Прежде всего, извините за мой плохой английский. У меня возникла проблема с созданием оператора SQL.SQL номер строки подсчета для каждого результата такого же столбца

Я создал количество строк столбец:

SELECT 
    ROW_NUMBER() OVER(ORDER BY KNR DESC) AS Row, 
    KNR, text, DATUM 
FROM 
    KURSTAGE 
WHERE 
    (KNR like '%E3%') AND (TEXT = 'TEXT') AND (datum >= '02.12.2014') AND (KNR like 'O%') 

Результат выглядит следующим образом:

Row Result1 Result2 etc. 
------------------------------------------------ 
1 OE3WU9B TestTest 2015-06-28 00:00:00.000 
2 OE3WU9B TestTest 2015-06-28 00:00:00.000 
3 OE3WU9B TestTest 2015-06-07 00:00:00.000 
4 OE3WU9B TestTest 2015-05-30 00:00:00.000 
5 OE3WU9B TestTest 2015-05-10 00:00:00.000 
6 OE3ST9B TestTest 2015-05-31 00:00:00.000 
7 OE3ST9B TestTest 2015-05-17 00:00:00.000 
8 OE3ST9B TestTest 2015-05-10 00:00:00.000 
9 OE3ST9B TestTest 2015-04-26 00:00:00.000 
10 OE3ST9B TestTest 2015-04-19 00:00:00.000 

Можно создать счетчик строк, который начинает отсчет с 1 в начале одного и того же результат Result1?

Например:

Row Result1 Result2 etc. 
1 OE3WU9B TestTest 2015-06-28 00:00:00.000 
2 OE3WU9B TestTest 2015-06-28 00:00:00.000 
3 OE3WU9B TestTest 2015-06-07 00:00:00.000 
4 OE3WU9B TestTest 2015-05-30 00:00:00.000 
5 OE3WU9B TestTest 2015-05-10 00:00:00.000 
**1** OE3ST9B TestTest 2015-05-31 00:00:00.000 
2 OE3ST9B TestTest 2015-05-17 00:00:00.000 
3 OE3ST9B TestTest 2015-05-10 00:00:00.000 
4 OE3ST9B TestTest 2015-04-26 00:00:00.000 
5 OE3ST9B TestTest 2015-04-19 00:00:00.000 

ответ

0
SELECT ROW_NUMBER() OVER 
(PARTITION BY KNR ORDER BY KNR,DATUM DESC) AS Row, 
KNR, 
text, 
DATUM FROM KURSTAGE 
WHERE (KNR like '%E3%') 
AND (TEXT = 'TEXT') 
AND (datum >= '02.12.2014') 
AND (KNR like 'O%') 
+0

ВЕЛИКОЙ, большое спасибо, вы сделали мой день :) – tearitdown

Смежные вопросы