날짜 필드가있는 두 행 사이를 지난 일 수를 찾아야하는 경우가 있습니다. 계산을 수행해야하는 행은 정렬되지 않습니다. 여기 두 날짜 사이의 날짜 수를 얻는 방법
나는 날짜별로 정렬하고 절판별로 그룹화 마지막 두 개의 트랜잭션을 유지해야합니다,Folio DATE
1 6/1/2015
2 4/1/2015
1 3/1/2015
4 2/1/2015
1 1/1/2015
기본적으로 테이블의 구조입니다. 따라서이 예에서 2015 년 1 월 1 일에 Folio 1에 의한 트랜잭션은 무시됩니다.
다음을 수행해야한다고 가정합니다. 1. 폴더 번호 별 그룹 2. Folio별로 마지막 두 트랜잭션 사이의 날짜 만 계산합니다. 예를 들어 Folio # 1에는 2015 년 6 월 1 일과 2015 년 3 월 1 일의 거래 만 포함됩니다.
내가 찾고 그 결과가 밖으로
Folio FirstDATE LastDate #ofDays
1 3/1/2015 6/1/2015 90
모든 MySQL의 장점? 내 기술은 아직 초보자 영역에 있습니다. 고맙습니다!
는UPDATE :
LatestClosing First Closing numofdays
7/20/2016 5/9/2006 3725
이 내가해야 할 것입니다 :
SELECT
SubQuery.`Folio Number`,
SubQuery.LatestClosing,
SubQuery.FirstClosing,
DATEDIFF(SubQuery.LatestClosing, SubQuery.FirstClosing) AS numofdays
FROM (SELECT
Subquery.`Folio Number`,
SubQuery.LatestClosing,
SubQuery.FirstClosing
FROM (SELECT t.`Folio Number`,
MAX(t.`Closing Date`) AS LatestClosing,
(SELECT
s.`Closing Date`
FROM MLSFinalimport s
WHERE t.`Folio Number` = s.`Folio Number`
ORDER BY s.`Closing Date` DESC
LIMIT 1, 1) AS FirstClosing,
FROM MLSFinalimport t
GROUP BY t.`Folio Number`) SubQuery) SubQuery
이이처럼 보이는 결과를 생성하는 : 내가 관리했습니다
은 다음에 올 . 그러나 각 행에 대해 "Folio Number"라는 원래 열을 추가하려고 시도했습니다. 어떻게해야합니까?
대단히 감사합니다.
http://stackoverflow.com/questions/7937288/calculate-the-time-difference-between : 당신이
LIMIT/OFFSET
와 상관 쿼리를 사용하여 시도 할 수 있도록 아마 반대 .. MySQL은 윈도우 기능을 지원하지 않습니다 -of-two-rows –링크를 확인하면 Google DATE_ADD() 함수 - W3Schools www.w3schools.com/sql/func_date_add.asp 에서 많은 자원을 찾을 수 있습니다. – katmanco
2015 년 3 월 1 일부터 2015 년 1 월 30 일 사이에 90 일이 소요될 것으로 예상되는 경우 나에게 다른 캘린더로 작업하게됩니다. 그 날짜 사이에 92 일이 있습니다. –