Java에서 MySQL을 사용하던 중 executeUpdate() 를 사용했을 때 insert, update, delete는 해당 쿼리문이 수행된 행의 수가 return되는데 insert into on duplicate key update를 사용했을 때는 어떤 수가 return이 되는지 몰라서 조사했던 내용이다. * insert into on duplicate key update를 실행했을 때 return값 - 1: insert 됐을 때 (duplicate key가 아닐때) - 2: duplicate key라 update가 됐을 때 - 0: 변경된 내용이 없을 때 가끔 변경된 내용이 아무것도 없을 때도 return값이 1인 경우가 있다는데 자세한 내용은 https://bugs.mysql.com/bug.p..
DB 쿼리문을 짤 때 해당 컬럼에서 최댓값을 가져오는 max() 함수나 최솟값을 가져오는 min() 함수는 자주 써봤을 것이다. 하지만 최댓값, 최솟값만이 아니라 그 값을 가지고 있는 row의 다른 컬럼들이 필요할 때가 있다. 다양한 방법으로 해결할 수 있겠지만 내가 생각한 세가지 방법 정도만 설명해보겠다. 기존에 작성한 방법 중 몇가지는 결과값이 하나일 때만 적용되는 방법이라, 내용을 수정하였다. 이전 작성글은 아래 펼치기로 확인 가능하니 참고용으로만 보면 될듯하다. 아래와 같은 기본적인 employee 테이블로 예를 들어보겠다. name number salary 김 40 30000 박 23 35000 이 51 25000 이 테이블에서 salary가 max, min값인 사람의 이름과 사번을 select..