[SQL] MAX와 GROUP BY를 사용하여 모든 해당 필드를 선택
SQLMAX와 GROUP BY를 사용하여 모든 해당 필드를 선택
나는이 테이블이 :
그리고 가장 높은 타임 스탬프 행을 DEAL_ID 각각에 대해 반환 요청하고, 해당 status_id을하고 싶습니다.
그래서 예를 들어, 나는 2 개 행을 반환 것입니다 :
1226, 3, 2009-08-18 12:10:25
1227, 2, 2009-08-17 14:31:25
나는이 쿼리와 함께 할 것을 시도
SELECT deal_id, status_id, max(timestamp) FROM deal_status GROUP BY deal_id
그러나 그것은 잘못된 status_id을 반환합니다 :
1226, 1, 2009-08-18 12:10:25
1227, 1, 2009-08-17 14:31:25
해결법
-
==============================
1.하나의 기본 키 필드없이, 당신의 최선의 방법이라고 생각 :
하나의 기본 키 필드없이, 당신의 최선의 방법이라고 생각 :
select * from deal_status inner join (select deal_id as did, max(timestamp) as ts from deal_status group by deal_id) as ds on deal_status.deal_id = ds.did and deal_status.timestamp = ds.ts
같은 시간에 같은 제품에 대한 두 개의 서로 다른 상태를 가지고 허용하는 경우이 여전히 작동하지 않습니다
-
==============================
2.안녕 나는이 유를 원하는 부여합니다 희망
안녕 나는이 유를 원하는 부여합니다 희망
select deal_id,status_id, timestamp from deal_status inner join (select deal_id as did,max(timestamp) as ts from deal_status group by deal_id )as ds on deal_status.deal_id = ds.did and deal_status.timestamp = ds.ts order by deal_id
from https://stackoverflow.com/questions/1305056/selecting-all-corresponding-fields-using-max-and-group-by by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 현지 시간대에 저장된 UTC 시간을 변환 MySQL을 할 수 있습니까? (0) | 2020.05.12 |
---|---|
[SQL] T-SQL 등 %의 매개 변수 % 절 (0) | 2020.05.12 |
[SQL] 오라클의 N 번째 최대 급여 (0) | 2020.05.12 |
[SQL] 치명적인 오류 : C에서 정의 함수 sqlsrv_connect 문안 () : \ XAMPP \ htdocs에 (0) | 2020.05.12 |
[SQL] 테이블 또는 열 이름은 숫자로 시작할 수 없습니다? (0) | 2020.05.12 |