2
날짜를 기록하는 로그 테이블이 있습니다.여러 통화에 날짜 가져 오기
두 번째 및 세 번째 호출 날짜를 찾고 싶습니다.
- 나는
- 내가 MAX (DateCreated)를 사용하여 마지막 날짜를 얻을 MIN (DateCreated)를 사용하여 첫 번째 통화를 얻을. 이것은 두 번째 호출 일 수도 있습니다.
두 번째 및 세 번째 호출 날짜를 찾는 가장 좋은 방법은 무엇입니까?
날짜를 기록하는 로그 테이블이 있습니다.여러 통화에 날짜 가져 오기
두 번째 및 세 번째 호출 날짜를 찾고 싶습니다.
두 번째 및 세 번째 호출 날짜를 찾는 가장 좋은 방법은 무엇입니까?
난 그냥 함께 3 개 행을 하나 개의 쿼리에서 얻을 것을
SELECT TOP 3 *
FROM LogTable
ORDER BY LogDate ASC -- DESC if you need the last 3
당신은 당신이 사용할 수있는, 그들에게 하나 하나를해야하는 경우 :
WITH LogByDate AS
(
SELECT LogDate,
ROW_NUMBER() OVER (ORDER BY LogDate) AS 'RowNumber'
FROM LogTable
)
SELECT *
FROM LogByDate
WHERE RowNumber = 2; -- RowNumber=3 for the third line
는 분석 기능을 사용해보십시오 :
;WITH CTE AS
(
SELECT *, ROW_NUMBER() OVER(PARTITION BY CallId ORDER BY DateCreated) Corr
FROM dbo.YourTable
)
SELECT *
FROM CTE
WHERE Corr IN (2,3)
나는 KISS 방식을 좋아합니다. 나는 당신의 WHERE가 (2, 3) 안에 있어야한다고 제안 할 것입니다, 맞습니까? – DOK
@DOK thanks :) RowNumber = 2를 사용한 이유는 "두 번째 통화의 날짜를 얻는 방법은 무엇입니까?"라는 질문을 해석했기 때문에 세 번째 통화를 얻는 방법은 무엇입니까? –