mysql 쿼리 한번더 질문드리겠습니다 0 2 652

by 밍밍밍밍 [MySQL] [2017.10.18 17:11:00]


SELECT
                A.NO,
                Group_Concat(B.USER ORDER BY B.NO) USER,
                A.SDATE,
                A.EDATE
            FROM
                INFO A,
                USER B
            WHERE 1=1
            AND A.NO = B.NO
            AND SDATE <= '2017-11-31' 
            AND EDATE >= '2017-11-01'
            GROUP BY A.NO
            ORDER BY A.SDATE

 

쿼리 조회시 나오는값입니다.

NO USER SDATE EDATE
1 테스터1,테스터2 2017-10-31 2017-11-02
2 테스터3,테스터4 2017-11-05 2017-12-01

 

만약 11월을 검색했을때 NO1의 SDATE를 11월의 첫째일인 2017-11-01로 조회,

NO2의 EDATE를 11월의 마지막일인 2017-11-30으로 바꿔서 조회가 가능한지 궁금합니다~

by 마농 [2017.10.18 17:30:29]

1. Group by 사용법 오류
  - mysql 에서만 허용되는 구문입니다.
  - 정상적으로 작성하려면 group by 기준에 sdate, edate 도 포함되어야 합니다.
2. 조건에 따라 출력을 달리하려면?
  - CASE 문을 이용하세요.
  - 간단하게는 greatest 와 least 함수를 이용하면 편리합니다.


by 밍밍밍밍 [2017.10.18 17:38:26]

답변감사드립니다~

테스트해보겠습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입