나는 다음과 같습니다. DriverID "134"에 세 개의 레코드가 있습니다. 두 번째 마지막 데이터를 원합니다.이 사람은 어떻게 도와야합니까? 두 번째 마지막 데이터를 얻으려면 주십시오. 내가 얼마나 더 일 driverid 다음 두 번째 마지막 레코드 종류마다 내 테이블에서 데이터를 fatch하는 driverid에서 두 번째 마지막 레코드를 얻는 방법 SQL 서버
0
A
답변
2
사용 Row_Number()
창 기능
With cte as
(
select *,Row_Number()over(order by Transdate desc) as Rn from yourtable
Where DriverID = 134
)
Select *
from cte
Where Rn = 2
다음이를 사용 DriverID
를 제공하기위한 하나 개의 레코드 만있을 때 처리하는 방법
With cte as
(
select *,Row_Number()over(order by Transdate desc) as Rn,
count(1)over() as cnt from yourtable
Where DriverID = 134
)
Select *
from cte
Where (Rn = 2 and cnt > 1) or (Rn = 1 and cnt = 1)
참고 :이 마지막 두 번째 레코드에 넥타이이며, 당신이 원하는 모두 기록은 대신 DENSE_RANK
를 사용하는 경우 ROW_NUMBER
업데이트 :
번째 마지막 레코드를 찾으려면 모두DriverID's
에 의해 파티션을 추가하고 Row_number
에 DriverID
을 제거하십시오. Where
조항
With cte as
(
select *,Row_Number()over(Partition by DriverID order by Transdate desc) as Rn,
count(1)over(Partition by DriverID) as cnt from yourtable
)
Select *
from cte
Where (Rn = 2 and cnt > 1) or (Rn = 1 and cnt = 1)
0
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key DEC) AS rownumber,
columns
FROM tablename
) AS foo
WHERE rownumber <= 2
당신은 나보다 더 빨리했다
관련 문제
- 1. 처음/마지막 레코드를 얻는 방법
- 2. SQL에 linq에서 두 번째 레코드를 얻는 방법
- 3. DB의 첫 번째 및 마지막 레코드를 얻는 방법
- 4. 커서의 마지막 레코드를 얻는
- 5. 각 계약서의 마지막 두 번째 마지막 레코드를 비교하십시오.
- 6. Sql 서버 데이터베이스에서 마지막 행 레코드를 가져 오는 방법
- 7. 두 열에서 레코드를 얻는 방법
- 8. 마지막 NTFS MFT 레코드를 얻는 방법?
- 9. 매일 매일의 마지막 레코드를 얻는 레일스 방법
- 10. 리눅스에서 두 번째 마지막 폴더의 이름을 얻는 방법
- 11. Powerpivot DAX - "마지막 날짜에서 두 번째"날짜를 얻는 방법
- 12. SQL 서버 2008의 테이블에서 고유 한 레코드를 얻는 방법
- 13. SQL : 효율적으로 마지막 레코드를 얻으십시오.
- 14. mysql에서 마지막 레코드 이전에 마지막 레코드를 얻는 방법?
- 15. 데이터 우편 번호를 얻는 방법 마지막 두
- 16. 여러 달에서 첫 번째 레코드를 얻는 방법
- 17. UIDatePicke에서 두 번째 얻는 방법?
- 18. 마지막 레코드 얻는 방법
- 19. SQL 암호화 - 비대칭 키 - 두 번째 서버
- 20. 내 plist에서 두 번째 레코드를 추출하는 방법?
- 21. java를 사용하여 .csv 파일에서 마지막 두 레코드를 얻는 방법은 무엇입니까?
- 22. 두 날짜 사이에 레코드를 얻는 방법 Asp.net
- 23. LINQ의 첫 번째 레코드와 마지막 레코드를 조정하는 방법
- 24. 선택 쿼리에서 테이블의 마지막 레코드를 얻는 것은
- 25. 그룹의 마지막 레코드를 가져 오는 sql 쿼리
- 26. SQL 출력의 마지막 열에서 값을 얻는 방법
- 27. 는 마지막 슬라이드는 두 번째
- 28. 두 번째 마지막 항목 확인하기
- 29. 두 번째 마지막 줄로 이동
- 30. CodeIgniter에서 테이블의 마지막 레코드를 얻는 방법은 무엇입니까?
... +1 그러나 : 당신은 단지 하나 개의 레코드가있는 곳에 <= 2 ... 사례를 잡으려고 사용할 수 있습니다 (물론 실제의 요구에 따라 다름) . – Shnugo
@Shnugo - 예, 맞습니다. 이에 따라 답변이 업데이트되었습니다. 주어진'DriverID'에 대해 두 개 이상의 레코드가있을 때 <= 2를 사용할 수 없기 때문에 –
내 테이블에서 데이터를 처리하는 방법을 알려주십시오. 매초마다 마지막 레코드를 하나씩 찾습니다. driverid –