개발자?
1k
2017-12-07 21:29:57.0
2
87

mysql group by 조언 구해봅니다~~


선배님들 조언 부탁드려요~~

SELECT s.code, DATE_FORMAT(u.date,'%Y-%m-%d %H:%i') AS date, u.ncode
FROM user_book AS u
INNER JOIN stor AS s ON u.code = s.code
where email='naver.com'
GROUP BY s.code ORDER BY date DESC



code값이 같은 테이블이 user_book, stor 이렇게 2개 있습니다
두 테이블을 조인한 다음에 코드를 group by해서 제일 최근날짜 기록만 보고싶은데
group by를 쓰면 그룹화는 되지만 날짜가 order by가 안먹혀버리고..

group by를 안쓰면 order by는 먹히는데 그룹화가 안됩니다;;; 어떻게 바꾸면.. 코드별로 그룹화 시켜서

최신데이터만 뽑아낼수있을까요? ㅠㅠ 조언 구해봅니다 선배님들~~


0
0
  • 답변 2

  • 앵두파파
    154
    2017-12-07 22:24:46.0 작성 2017-12-07 22:28:33.0 수정됨
    MAX(u.date) 라고 해야 코드별 가장 최근 날짜가 뽑히겠죠
    0
  • antop
    121
    2017-12-08 08:06:56.0

    유저가 마지막으로 ??한 마지막 날짜의 ncode 를 알고 싶으신건가요?

    mysql 이라 가정하고....

    코드별 최신 날짜만 보고 싶다.

    select
    	s.code
    	, max(u.date) as date
    from
    	user_book as u
    join
    	stor s
    on
    	u.code = s.code
    where
    	email = 'naver.com'
    group by
    	s.code


    코드별 최신 날짜의 데이터를 보고 싶다.

    /* user_book 테이블의 code, date 칼럼이 고유해야 만족한다. */
    select
    	t1.code
    	, t1.date
    	, t1.uncode
    from
    	user_book t1
    join
    	(
    	select
    		s.code
    		, max(u.date) as date
    	from
    		user_book as u
    	join
    		stor s
    	on
    		u.code = s.code
    	where
    		email = 'naver.com'
    	group by
    		s.code
    	) t2
    on
    	t1.code = t2.code
    	and t1.date = t2.date


    직접 돌려보지 않고 짠거라... 안될지도 -_-/

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