메뉴 건너뛰기

조회 수 594 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
우선 아래와 같은 테이블 testbl이 있다고 하자.
+-----+------+------+--------+
| sid | ssid | sort | status |
+-----+------+------+--------+
|   1 | aa   |   23 | b      |
|   2 | aa   |   11 | b      |
|   3 | aa   |   33 | c      |
|   4 | aa   |   32 | d      |
|   5 | bb   |   23 | a      |
|   6 | bb   |   67 | c      |
|   7 | bb   |   34 | a      |
|   8 | bb   |   77 | d      |
|   9 | cc   |   11 | a      |
|  10 | cc   |   22 | a      |
|  11 | cc   |   32 | d      |
|  12 | cc   |   23 | c      |
|  13 | cc   |   32 | b      |
+-----+------+------+--------+

위 테이블에서 ssid 를 group by로 잡은 뒤에 해당 ssid 값의 sort값중 가장 큰값을 가져오려면,
mysql> select ssid, max(sort), status from testbl group by ssid
+------+-----------+--------+
| ssid | max(sort) | status |
+------+-----------+--------+
| aa   |        33 | b      |
| bb   |        77 | a      |
| cc   |        32 | a      |
+------+-----------+--------+
위와 같이 쿼리를 날리면 된다. 하지만 status의 값은 sid 순서로 첫번째의 값을 가져올뿐, max(sort)의 status 값을 가져오는것이 아니다. 

그럼 해당 max(sort) 값의 status 값을 가져오는 방법을 알아보자면,

mysql> select t1.ssid, t1.sort, t1.status 
from testbl as t1, 
(select ssid, max(sort) as max_sort from testbl group by ssid) as t2 
where t1.sort = t2.max_sort and t1.ssid = t2.ssid;
+------+------+--------+
| ssid | sort | status |
+------+------+--------+
| aa   |   33 | c      |
| bb   |   77 | d      |
| cc   |   32 | d      |
| cc   |   32 | b      |
+------+------+--------+

max값의 sid값을 찾아내는 방법도 있지만, ssid와 max(sort)값이 원하는 조건이 되기 때문에 위와 같이 뽑아낼 수 있다.

List of Articles
번호 제목 날짜 조회 수
126 mysql table 값 변경 mariadb 테이블 값 변경 2023.01.12 83
125 FORMAT 문법 사용 하기(숫자 자리수 나타내기) file 2023.01.10 102
124 MYSQL IN&BETWEEN&NULL&예제&FROM절 문제3 file 2021.03.27 104
123 MYSQL any&all&in&예제& WHERE 절 문제4 file 2021.03.27 111
122 CASE 문법 사용 하기 file 2023.01.10 111
121 데이터베이스별 / 테이블별 용량 확인 하기 2023.01.10 115
120 MYSQL Groupby & having 예제 문제 6 file 2021.03.27 118
119 mysql-bin(binary log)파일 정리 및 삭제 2023.01.12 119
118 no exists, not in 을 이용한 조건에 만족하지 않는 것들 구하기, 둘의 차이점 2021.03.26 125
117 fulltext 관련 글 2021.03.26 125
116 MYSQL order by 예제&문제 7 file 2021.03.27 126
115 column의 정보 중에서 column 설명(column_comment) 2021.03.26 129
114 MYSQL FULLTEXT INDEX & PARTION 검색기능향상&파티션 file 2021.03.27 131
113 binlog 조회 / 삭제 / 보관 기간 설정 file 2023.01.10 132
112 MYSQL 부속질의어 예제&문제 9 file 2021.03.27 134
111 MYSQL 기초문법&예제&문제 2 file 2021.03.27 136
110 MYSQL 통계 함수 SUM AVG MAX MIN 예제 문제 5 file 2021.03.27 138
109 MYSQL select 명령문의 조합 &union 예제&문제 8 file 2021.03.27 138
108 MariaDB can't create test file lower-test 2023.02.16 139
107 엑셀로 되어있는 부분 db로 import하는 방법 2020.07.28 144
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved