>  Q&A  >  본문

특정 열에 대한 그룹화를 피하는 방법

<p>약속에 대한 데이터 테이블이 있고 관련 데이터가 업데이트되면 각 약속에 여러 행의 데이터가 있을 수 있습니다. 각 약속의 최신 스냅샷을 얻기 위해 각 약속의 마지막 기록을 선택하고 싶습니다. </p><p>첨부된 코드에서는 close_pallets 및 close_units별로 그룹화해야 하며 이는 표시되는 내용에 영향을 미칩니다(예: 약속당 여러 행이 반환됨). 약속당 하나의 행을 얻을 수 있도록 a.appointment_id로만 그룹화하고 싶습니다. 어떻게 해야 하나요?</p><p><br /></p> <pre class="brush:php;toolbar:false;">SELECT MAX(appointment_record_version_number), 약속_ID, 약속_팔레트 AS 닫기_팔레트, 약속_단위 AS 닫기_단위 에서 b.dh 어디 last_updated_datetime '2023-06-01'과 '2023-06-30' 사이 AND 창고_ID = 'xxx' 그룹 기준 약속_ID, 닫기_팔레트, close_units</pre> <p><br /></p>
P粉667649253P粉667649253452일 전429

모든 응답(1)나는 대답할 것이다

  • P粉744691205

    P粉7446912052023-07-26 10:58:55

    이를 달성하려면 하위 쿼리를 사용해야 합니다. 실제로 각 약속 ID의 최대 기록 버전을 가져와야 합니다.

    으아아아

    JOIN 문을 사용하여 최대값을 선택할 수도 있으며, 때로는 더 빠릅니다.

    으아아아

    사용 사례에 따라, 특히 데이터베이스가 큰 경우 추가 하위 쿼리나 인덱스를 사용하여 요청을 더욱 최적화할 수 있지만 이미 꽤 빠릅니다.

    회신하다
    0
  • 취소회신하다