데이터 쿼리는 3개 테이블 조인문을 사용했습니다.
A 테이블 -> 회원정보
B 테이블 -> 회원상세정보
C 테이블 -> 계약정보
리스트로 Loop 를 돌렸을때 C의 계약정보에 월세가 납입되는 날짜 값이 존재 합니다.
데이터는 매달 몇일 이기에 날짜값만 넣었습니다.
리스트로 나열될때 가장 오늘과 가까운 데이터를 우선으로 나열할수있는 방법이 무엇일까요??
ORDER BY 절을 사용하는것까진 알겠는데 그 뒤를 모르겠네요..
데이터는
1. 14일 데이터
2. 15일 데이터
3. 16일 데이터
4. 17일 데이터
라고 할때 리스트의 나열 순서가 3, 4, 1, 2 로 되었음 합니다.
도와주세요.
답변 5개 / 댓글 9개
채택된 답변
+20 포인트
ORDER BY DATEDIFF(curdate(), date_column) ASC;
3,4,1,2의 기준이 무엇인지 모르겠지만,
아마도 오늘, 내일,,, 그리고 날짜순의 기준인거 같은데, 이 기준이 맞다면
ORDER BY FIELD(date_column,내일,오늘) desc 로 정렬하시면 됩니다.
답변에 대한 댓글 2개
데이터를 가져올때 이번달의 기준으로 데이터를 가져와서 일자별로 정렬을 하면 좋을듯 한데
지금기준은 일자만의 기준이라 정렬이 애매하긴 합니다. 만약 위 기준으로 정렬을 하려면
월별 컬럼에 월기준을 넣어서 정렬을 해주셔야 합니다.
답변에 대한 댓글 4개
답변을 작성하려면 로그인이 필요합니다.
로 해봤는데...데이터가 14일과 22일 존재 할경우 14일이 우선 순위 입니다.
14일은 지난 날짜가 되어서 후순위가 되어야 하는데요..ㅜㅜ