공통 테이블 식을 사용하여 중복 행을 찾으려는 테이블이 있습니다. 다음 I은 작업 필드는 :CTE가 예상 값을 반환하지 않습니다.
LogTime (데이터 타입 : DATETIME2 (7), NULL) ControllerIP (데이터 타입 : NULL nvchar (최대))
I는이 두 개의 데이터 행이 내가 말할 수있는 한 그들 안에있는 같은 데이터. 두 열 모두 LEN 검사를 수행하여 길이가 같음을 확인했지만 아래 CTE를 사용할 때는 행이 중복으로 돌아 오지 않습니다 . LogTime 열과 다른 뭔가가 있습니까? 나는 이것에 결코 빠지지 않았다.
WITH CTE AS
(
SELECT rn = ROW_NUMBER()
OVER(
PARTITION BY LogTime , ControllerIP
ORDER BY Id ASC), *
FROM [DownTime].[dbo].[Records]
)
SELECT * FROM cte
WHERE FileName = '141101.CSV' AND rn > 1
Order By ID
GO
또한 Microsoft SQL Server 2008 R2를 사용하고 있습니다.
'공간 (및 기타 비 인쇄 문자) 때문에,이 개 같은 렌과 가치와 그 같은 모습을, 후행 계산하지 않습니다 LEN'은, 당신을 동일한 데이터가 논리적으로 – Lamak
있는 것을 의미하지 않는다 중복을 찾는 전략은 건전합니다. LogTime 또는 ControllerIP가 서로 달라야합니다. –
오케이. 나는 그랬다고 생각했다. 나는 그렇게 할 방법을 구글에게 알려줄 것이고 그 길로 갈 것이다. –