나는 다음과 같이 SQL 서버 테이블 (이미 정렬)가 :이전 행을 검사하는 SQL 쿼리를 작성하는 방법은 무엇입니까?
이stringname
==========
stringA
stringA
stringB
stringB
stringA
stringC
stringC
stringC
stringA
나는 다음과 같은 출력을 싶습니다
원래 테이블과 각 문자열 이름 들면,stringname previous_stringname count
========== =================== =====
stringA NULL 1
stringA stringA 1
stringA stringB 1
stringA stringC 1
stringB stringA 1
stringB stringB 1
stringC stringA 1
stringC stringC 2
그 각 stringname의 이전 항목, 나는 이전의 각 문자열 (첫 번째 항목에 대해 NULL)을 가진 횟수로 출력하고 싶습니다.
어떻게 SQL 쿼리를 작성할 수 있습니까?
내가 folllowing이 트릭을 할 것입니다,하지만 답변에 대한 대가로 내가 구글 "재귀"당신을 원하고 구글이 :)
를 검색 할 제안을 확인 SQL 서버를 2008
나는 이것을 SQL에서 쉽게 할 수 있을지 확신하지 못합니다. 데이터를 쿼리하는 것이 더 낫고 프로그램이 로직을 처리하게하십시오. –
ROW_NUMBER()을 (를)보고 셀프 합류 –
ROW_NUMBER는 (는)에 의해 상수를 사용할 수 없기 때문에 도움이되지 않습니다. 'IDENTITY' 컬럼과 같이 테이블에 다른 식별자가 필요하다. 문자열 이름이 당신이 원하는 순서대로 질의되도록하기 위해서이다. – Wil