MySQL용 Join 문 내에서 최대 날짜 쿼리
MySQL에서 레코드의 기록 위치를 검색하려면 JOIN 문을 활용할 수 있습니다. . 그러나 성능 문제가 발생하고 결과에서 데이터가 중복되는 경우에는 수정된 접근 방식이 필요합니다.
수정된 쿼리
각 레코드 ID에 대해 가장 최근에 수정된 시간만 검색하려면 및 위치에 대해서는 다음 쿼리를 고려하십시오.
SELECT t1.received_id , t1.transaction_id , t1.date_modified , l.location FROM transactions t1 JOIN ( SELECT received_id, MAX(date_modified) maxmodify FROM transactions GROUP BY received_id) max_record ON max_record.received_id = t1.received_id AND max_record.maxmodify = t1.date_modified JOIN locations l ON l.location_id = t1.location_id JOIN received r ON r.received_id = t1.received_id WHERE t1.received_id = '1782' ORDER BY t1.date_modified DESC
키 수정
수정은 하위 쿼리에 있습니다:
SELECT received_id, MAX(date_modified) maxmodify FROM transactions GROUP BY received_id
이 하위 쿼리는 각 received_id에 대한 최대 날짜를 검색합니다.
최대에 참여
그런 다음 기본 쿼리는 두 개의 쿼리를 사용하여 이 하위 쿼리에 조인합니다. 조건:
최대일자에 참여하시면 중복된 결과를 없애고 캡쳐가 가능합니다 가장 최근 위치만 변경됩니다.
위 내용은 JOIN 문을 사용하여 MySQL에서 가장 최근 위치 데이터를 효율적으로 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!