복붙노트

[SQL] 최대 값 테이블을 조인 만 행을 선택

SQL

최대 값 테이블을 조인 만 행을 선택

나는 u.userno, u.classno에 대한 최대 b.enddate가있는 경우에만 행을 선택합니다. 그러나 그것은 작동하지 않습니다.

select u.classno, u.userno, b.enddate
from libUser u
join book b on b.id = u.bookid
group by u.classno, u.userno
having b.enddate=max(b.enddate) //doesn't works

해결법

  1. ==============================

    1.무슨 잘못을 가진 :

    무슨 잘못을 가진 :

    select u.classno, u.userno, MAX(b.enddate)
    from libUser u
    join book b on b.id = u.bookid
    group by u.classno, u.userno
    
  2. ==============================

    2.여기에 공식 MySQL의 문서에 훌륭한 글이지만,이 사용하는 RDBMS 무엇에 적용 할 수 있도록 단지 표준 SQL은,이 사용됩니다.

    여기에 공식 MySQL의 문서에 훌륭한 글이지만,이 사용하는 RDBMS 무엇에 적용 할 수 있도록 단지 표준 SQL은,이 사용됩니다.

  3. from https://stackoverflow.com/questions/18694094/select-only-rows-by-join-tables-max-value by cc-by-sa and MIT license