Mysql 마이쿼리 그룹별 최소값 구할려면?
조회수 3276회
안녕하세요. 제가 그룹별 최소값 구하려다 잘몰라서 여기에 올려봅니다.
─────────────────────────
이름 │ 번호 │ 날짜
─────────────────────────
테스트1│ 1 │ 2017-04-17
─────────────────────────
테스트1│ 2 │ 2017-04-15
─────────────────────────
테스트2│ 3 │ 2017-04-16
─────────────────────────
테스트2│ 4 │ 2017-04-14
─────────────────────────
테스트3│ 5 │ 2017-04-13
─────────────────────────
테스트3│ 6 │ 2017-04-17
─────────────────────────
그걸 가지고 제가 원하는 결과는
─────────────────────────
이름 │ 번호 │ 날짜
─────────────────────────
테스트1│ 2 │ 2017-04-15
─────────────────────────
테스트2│ 4 │ 2017-04-14
─────────────────────────
테스트3│ 5 │ 2017-04-13
─────────────────────────
이렇게 이름만 중복 제거하고, 최소 날짜만 찾아 번호 2, 4, 5 가져오고 싶습니다. ㅠ 쿼리 어떤 식으로 해야 최소값을 가져올 수 있을지 잘모르겠습니다.
group by 는 최대값만 가져오게 되는데 반대로 최소값 가져오도록 하는 방법이 없을까요? ㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
다음과 같이 해보세요.
SELECT T1.이름, T1.날짜, T1.번호 FROM 테이블 AS T1 INNER JOIN ( SELECT 이름, MIN(날짜) as 날짜 FROM 테이블 GROUP BY 이름 ) AS T2 ON T1.이름=T2.이름 AND T1.날짜=T2.날짜
-
SELECT 이름, MIN(날짜), 번호 FROM 테이블 GROUP BY 이름;
-
(•́ ✖ •̀)
알 수 없는 사용자
- 아 답장 감사드립니다. 하지만.; 그게 아니라요. ㅠ 제가 원하는 건 저 최소 날짜 찾아서 해당 번호를 구하고싶어요. 저렇게 하셔도 번호가 1 3 5 만 가져오게되는데요. 제가 원하는건 최소날짜 통해서 해당 2 4 5 가져오고 싶어요 ㅠ 알 수 없는 사용자 2017.4.17 13:11
-
댓글 입력