날짜별 MySQL 순서 결과 및 사용자 ID별 그룹화
다음과 같은 테이블이 있습니다.
user_id | 데이트 시간 | 활동 |
---|---|---|
2 | 2022-01-10 12:00:00 | 로그아웃 |
1 | 2022-01-09 12:00:00 | 로그 인. |
3 | 2022-01-08 12:00:00 | 로그 인. |
3 | 2022-01-07 12:00:00 | 등록하세요 |
2 | 2022-01-06 12:00:00 | 로그 인. |
1 | 2022-01-05 12:00:00 | 등록하세요 |
다음 기준으로 정렬된 테이블을 쿼리하는 경우datetime DESC
저는 위와 같은 결과를 얻겠습니다.
아래와 같이 user_id로 그룹화된 결과를 얻을 수 있도록 쿼리를 확장하려면 어떻게 해야 합니까?
user_id | 데이트 시간 | 활동 |
---|---|---|
2 | 2022-01-10 12:00:00 | 로그아웃 |
2 | 2022-01-06 12:00:00 | 로그 인. |
1 | 2022-01-09 12:00:00 | 로그 인. |
1 | 2022-01-05 12:00:00 | 등록하세요 |
3 | 2022-01-08 12:00:00 | 로그 인. |
3 | 2022-01-07 12:00:00 | 등록하세요 |
이 논리는 레코드가 다음 기준으로 정렬된다는 것입니다.datetime DESC
처음에 레코드에 대한 user_id를 만나면 user_id에 속한 모든 레코드를 함께 집계하고 유지합니다.datetime DESC
user_id 그룹 내에서 정렬합니다.
사용하다MAX()
의 창 기능ORDER BY
절:
SELECT *
FROM tablename
ORDER BY MAX(datetime) OVER (PARTITION BY user_id) DESC,
user_id, -- just in case there are duplicate datetimes, remove this if the column datetime is unique
datetime DESC;
데모를 참조하십시오.
언급URL : https://stackoverflow.com/questions/73637905/mysql-order-results-by-datetime-and-grouped-by-user-id
'programing' 카테고리의 다른 글
어레이를 코어 데이터에 저장하는 방법은 무엇입니까? (0) | 2023.06.19 |
---|---|
R의 전역 및 국소 변수 (0) | 2023.06.14 |
한 번에 여러 패키지 로드 (0) | 2023.06.14 |
Itunes에 전달한 후 Firebase에서 "누락 알림 권한" 문제가 발생함 (0) | 2023.06.14 |
루비: 해시를 HTTP 매개 변수로 변환하는 방법은? (0) | 2023.06.14 |