SQL을 사용하여 Access 데이터베이스의 순차 레코드 간 날짜 차이 계산
시간 데이터 분석에는 연속 항목 간의 경과 시간을 확인하는 작업이 포함되는 경우가 많습니다. 이 문서에서는 SQL을 사용하여 Access 데이터베이스 내에서 동일한 계좌 번호를 공유하는 연속 레코드 간의 날짜 차이를 계산하는 방법을 보여줍니다.
방법 1:
다음 SQL 쿼리는 계좌 번호 1001과 연결된 연속 레코드의 날짜 차이를 계산합니다.
SELECT T1.ID, T1.AccountNumber, T1.Date, MIN(T2.Date) AS NextDate, DATEDIFF("D", T1.Date, MIN(T2.Date)) AS DaysDifference FROM YourTable AS T1 LEFT JOIN YourTable AS T2 ON T1.AccountNumber = T2.AccountNumber AND T2.Date > T1.Date GROUP BY T1.ID, T1.AccountNumber, T1.Date;
이 접근 방식은 LEFT JOIN
을 활용하여 각 레코드의 이후 날짜를 식별한 다음 DATEDIFF
기능을 사용하여 일수 차이를 계산합니다.
방법 2:
또는 이 쿼리는 동일한 결과를 얻습니다.
SELECT ID, AccountNumber, Date, NextDate, DATEDIFF("D", Date, NextDate) AS DaysDifference FROM ( SELECT ID, AccountNumber, Date, ( SELECT MIN(Date) FROM YourTable AS T2 WHERE T2.AccountNumber = T1.AccountNumber AND T2.Date > T1.Date ) AS NextDate FROM YourTable AS T1 ) AS T;
이 방법은 날짜 차이를 계산하기 전에 하위 쿼리를 사용하여 각 레코드의 다음 날짜를 찾습니다.
출력 예(계좌 번호 1001):
두 쿼리 모두 비슷한 결과 집합을 생성합니다.
AccountNumber | Date | DaysDifference |
---|---|---|
1001 | 10/9/2011 | 2 |
1001 | 12/9/2011 | 8 |
1001 | 20/9/2011 | NULL |
NULL
값은 마지막 항목에 대한 후속 기록이 없음을 나타냅니다. "YourTable"
을 테이블의 실제 이름으로 바꿔야 합니다.
위 내용은 SQL을 사용하여 Access 데이터베이스의 연속 레코드 간 날짜 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!