귀하의 질문이 좀 불분명하지만, 당신은 ROW_NUMBER 함수와 나머지 연산자의 조합을 사용 할 수도 있습니다 :
with temp as
(
select 9278 as num, 'david' as name, CONVERT(datetime, '02/12/12',3) as date
UNION
select 4343, 'sharon', CONVERT(datetime, '21/11/12',3)
UNION
select 4783, 'elizabeth', CONVERT(datetime, '17/11/12',3)
UNION
select 47846, 'john', CONVERT(datetime, '08/10/12',3)
UNION
select 78347, 'chris' , CONVERT(datetime, '17/09/12',3)
UNION
select 37379, 'Joe' , CONVERT(datetime, '18/06/12',3)
)
select *,
((ROW_NUMBER() OVER (ORDER BY date desc) + 2) % 3) + 1 as Flag
from temp
이 데이터가 일부 프로그래밍 언어에 의해 소비되는 경우, 대신 SQL 코드에 숫자를 추가하십시오.
1, 2 또는 3이어야 할 대상을 결정하는 방법은 무엇입니까? –
귀하의 사례에서 설명한 방식으로 이러한 기록의 순위를 매길 수있는 방법이 없으므로 질문이 의미가 없습니다. 우리가 당신을 도울 수 있도록 정확한 예를 제공해주십시오. –