Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- JavaScript
- vscode
- 해시함수
- jQuery
- 무결성
- 공개키암호시스템
- AndroidStudio
- C#크롤링
- c:choose
- 동적쿼리
- 국제화
- fullcalendar
- 대칭키암호화
- SQL
- node.js
- c:forEach
- JSTL
- 서드파티모듈
- Java
- RequestMethod.POST
- MySQL
- 암호학
- jsx
- 전자서명
- mybatis
- 대칭키암호시스템
- Spring
- 대칭키알고리즘
- react
- NPM
Archives
- Today
- Total
Today Yewon Learned
[SQL] MySQL 그룹 별 최신 데이터 가져오기 본문
js_machine_state_log 로그 데이터가 쌓이는 테이블

파란색 박스 데이터보다 빨간색 박스 데이터가 더 최신 데이터이다.
MAC_CD별로 최신에 쌓인 로그 데이터만 추출하고자 한다.
1. MAX값 지정 후 GROUP BY를 통해 중복 제거
SELECT MAC_CD, MAX(STATE_DATE) AS STATE_DATE
FROM js_machine_state_log GROUP BY MAC_CD

2. 전체 검색 후, ORDER BY를 통해 순서대로 정렬
SELECT *
FROM js_machine_state_log AS T1
WHERE (MAC_CD, STATE_DATE)IN(
SELECT MAC_CD, MAX(STATE_DATE) AS STATE_DATE
FROM js_machine_state_log GROUP BY MAC_CD
)
ORDER BY MAC_CD ASC;

'SQL' 카테고리의 다른 글
| [MySql] CASE WHEN ~ THEN ~ELSE END 문법 (0) | 2023.05.22 |
|---|---|
| [SQL] 기존 DB 새로운 DB로 복사하기 (0) | 2022.10.21 |
| [MySQL] 새로운 DB에 기존 DB옮기기 [RENAME DATABASE] (0) | 2022.08.18 |
| [SQL] iBatis, MyBatis 이용하여 데이터 조회 실습(Dynamic Query) (0) | 2022.02.15 |
| [SQL] JOIN (1) | 2022.01.10 |
Comments