정렬 및 그룹을 그룹화 MySQL을

다음 표는 다음과 같습니다

은 CREATE (asset_change_log` TABLE`
  `id` INT (. 11) 주석이 NOT NULL 'ID'를 서명 없다고 AUTO_INCREMENT,
  `asset_id`의 INT (. 11)이 NOT NULL '자산 ID'서명 없다고 COMMENT,
  `status` TINYINT (. 1) NOT는 NULL DEFAULT 부호 ' 0 COMMENT '상태 저장 1 2 3 라이브러리', 4 빌려준 반환하도록
  만든 '기본 CURRENT_TIMESTAMP 주석 날짜 NOT NULL을 ctime``
  기본 키 (`id`)
) = ENGINE InnoDB의 초기 상태 문자셋 = utf8mb4을

 

이 테이블 각 자산의 최종 상태를 확인해야합니다.

SQL은 다음과 같습니다 :

선택 a. * asset_change_log` '로부터 RIGHT 조인 AS
(SELECT ASSET_ID, MAX (ctime이)`FROM maxtime AS GROUP BY의 ASSET_ID asset_change_log`) B AS
ON a.asset_id = b.asset_id AND b.maxtime = a.`ctime` a.asset_id ASC BY ORDER;

 

약간의주의가 필요합니다

(기록 시간 삽입) 최대 시간이 걸릴 수 있습니다 각 자산의 최종 상태를 확인하고 싶습니다.

최대 시간 후 조건 중 일부 사용을 얻을 수 있습니다. 그렇지 않으면 특정 자산의 마지막 레코드와 일치 할 수있는 방법이 없습니다.

 

 

 

추천

출처www.cnblogs.com/liuqd001/p/11840904.html