> 데이터 베이스 > MySQL 튜토리얼 > Microsoft Access에서 연속 행 간의 날짜 차이를 계산하는 방법은 무엇입니까?

Microsoft Access에서 연속 행 간의 날짜 차이를 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-08 08:21:40
원래의
541명이 탐색했습니다.

How to Calculate the Date Difference Between Consecutive Rows in Microsoft Access?

Microsoft Access에서 계정 거래 간 경과 시간 확인

많은 데이터 세트가 연속 행으로 계정 거래를 추적합니다. 이러한 거래 간의 시간을 분석하려면 날짜 차이를 계산해야 하는 경우가 많습니다. 이는 Microsoft Access 내에서 SQL 쿼리를 사용하여 쉽게 수행할 수 있습니다. 이를 달성하기 위한 두 가지 방법을 살펴보겠습니다.

방법 1: MIN() 및 DATEDIFF()를 사용한 Self Join

이 접근 방식은 셀프 조인을 사용하여 각 행을 동일한 계정의 후속 행과 비교합니다.

SELECT  T1.ID, 
        T1.AccountNumber, 
        T1.Date, 
        MIN(T2.Date) AS NextDate, 
        DATEDIFF("D", T1.Date, MIN(T2.Date)) AS DaysDifference
FROM    YourTable T1
LEFT JOIN YourTable T2
    ON T1.AccountNumber = T2.AccountNumber
    AND T2.Date > T1.Date
GROUP BY T1.ID, T1.AccountNumber, T1.Date;
로그인 후 복사

이 쿼리는 YourTable(별칭 T1T2)을 자체에 조인합니다. LEFT JOIN은 다음 거래가 없더라도 모든 거래가 포함되도록 보장합니다. MIN(T2.Date)은 가장 빠른 후속 거래 날짜를 찾고, DATEDIFF("D", T1.Date, MIN(T2.Date))는 일수 차이를 계산합니다.

방법 2: 다음 거래 날짜에 대한 중첩 하위 쿼리

이 대안은 중첩된 하위 쿼리를 사용하여 각 계정의 다음 거래 날짜를 효율적으로 결정합니다.

SELECT  ID,
        AccountNumber,
        Date,
        NextDate,
        DATEDIFF("D", Date, NextDate) AS DaysDifference
FROM    (   SELECT  ID, 
                    AccountNumber,
                    Date,
                    (   SELECT  MIN(Date) 
                        FROM    YourTable T2
                        WHERE   T2.AccountNumber = T1.AccountNumber
                        AND     T2.Date > T1.Date
                    ) AS NextDate
            FROM    YourTable T1
        ) AS T
로그인 후 복사

내부 쿼리는 각 행에 대해 NextDate을 찾습니다. 그런 다음 외부 쿼리는 DATEDIFF()을 사용하여 일차를 계산합니다.

두 방법 모두 계좌 번호, 거래 날짜, 다음 거래 날짜 및 계산된 날짜 차이를 산출합니다. 최적의 선택은 특정 데이터 볼륨 및 성능 요구 사항에 따라 달라집니다. 매우 큰 데이터 세트에서는 자체 조인의 효율성이 떨어질 수 있지만 중첩된 하위 쿼리는 때로는 더 읽기 쉬울 수 있습니다.

위 내용은 Microsoft Access에서 연속 행 간의 날짜 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿