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
- 국제화
- jQuery
- SQL
- 공개키암호시스템
- vscode
- 암호학
- mybatis
- node.js
- RequestMethod.POST
- 동적쿼리
- Spring
- JSTL
- 해시함수
- 대칭키알고리즘
- JavaScript
- c:forEach
- NPM
- C#크롤링
- AndroidStudio
- react
- jsx
- Java
- 전자서명
- 서드파티모듈
- 대칭키암호화
- 무결성
- MySQL
- c:choose
- fullcalendar
- 대칭키암호시스템
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