luxury515
1k
2019-03-13 17:14:32 작성 2019-03-13 17:35:22 수정됨
1
188

mysql 질문



이미지 처럼 아래와 같은 status 컬럼이 1,2,3 으로 되어 있습니다.

select status,create_time,update_time, from table from status in (1,3) ;
status가 1,2,3 경우 모두 출력하고

status=3  이면 그중 create_time 기준으로 최신status 데이터  하나만 출력하고 싶습니다.


그래서 아래와같이 했느네 안되네요. ㅜ.ㅜ 

select
create_time,update_time,
max(status) as status
from user_kyc_info 
where user_id = 18 and status in (1,3) group by status;

user_id는 제환경에서만 적용되는거라서 무시하셔도 됩니다.

어디가 잘 못된거죠?case 문을 사용하고 status 3일시 max치를 구하는데....음

다 된것같은데 안되네요.







0
0
  • 답변 1

  • 사는게힘듭니다
    2019-03-13 17:41:21

    group by절 뒤에는 셀렉트프롬절 안에 그룹함수 미적용된 컬럼이 나와야합니다.

    즉 group by cretae_time, update_time


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.