> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 각 집에 대한 최대 데이터 타임으로 행을 선택하는 방법은 무엇입니까?

MySQL의 각 집에 대한 최대 데이터 타임으로 행을 선택하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-25 06:38:09
원래의
248명이 탐색했습니다.

How to SELECT Rows with the MAX Datetime for Each Home in MySQL?

mySQL : 각 그룹의 최대 DateTime이있는 행 선택 이 안내서는 MySQL 테이블의 각 별개의 그룹에 대한 최대 DateTime 값을 포함하는 행을 효율적으로 검색하는 방법을 보여줍니다. 이것은 종종 하위 쿼리 또는 창 함수를 포함하는 일반적인 SQL 챌린지입니다. 시나리오 :

다른 주택에서 플레이어 리소스 사용을 추적하는 테이블을 상상해 목표는 최신 레코드의 및

정보를 포함하여 가장 최근의 () 항목이있는 레코드를 찾는 것입니다.

비효율적 인 접근 (그리고 그들이 실패한 이유) :

간단한 및 가 데이터를 집계하고 와 같은 집계 된 열을 잃어 버리므로 직접 작동하지 않습니다. 하위 쿼리를 사용하여 각 홈에 대한 최대 데이터 시간을 찾은 다음 원래 테이블에 다시 가입하면 종종 잘못되거나 불완전한 결과로 이어집니다.

효과적인 솔루션 : TopTen 가장 효율적인 솔루션은 하위 퀘스트와 함께 자체 교육을 활용합니다.

이 쿼리는 다음과 같이 작동합니다
<code class="language-sql">CREATE TABLE TopTen (
  id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
  home INT UNSIGNED NOT NULL,
  datetime DATETIME NOT NULL,
  player VARCHAR(6) NOT NULL,
  resource INT NOT NULL
);</code>
로그인 후 복사
subquery () :

이 내부 쿼리는 각각의 에 대한 최대 home를 찾아 . 조인 : 외부 쿼리는 원본 테이블 (datetime 조건은 최종 결과에 player와 최대 resource와 일치하는 행만 에 포함되도록합니다.

이 메소드는 원래 테이블의 모든 열 ( 및 포함)의 모든 열이 각 에 대한 최대

를 나타내는 행에 대해 반환되도록합니다. 이것은 데이터 손실을 피하고 필요한 완전한 정보를 제공합니다.

위 내용은 MySQL의 각 집에 대한 최대 데이터 타임으로 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿