집 >데이터 베이스 >MySQL 튜토리얼 >`GROUP BY`를 사용하여 MySQL에서 그룹의 마지막 값을 검색하는 방법은 무엇입니까?
MySQL에서는 GROUP BY를 사용하여 특정 행 그룹의 마지막 값을 선택할 수 있지만 직접적으로는 불가능합니다. 이를 수행하는 데 사용되는 기술은 그룹화를 수행하기 전에 먼저 원하는 열을 타임스탬프와 같은 고유 식별자로 연결하는 것입니다.
다음 쿼리를 고려하세요.
<code class="sql">SELECT id_branch_channel, id_member, MAX(CONCAT(timestamp, attendance)) AS last_attendance FROM view_event_attendance WHERE id_event = 782 GROUP BY id_branch_channel, id_member;</code>
여기서 쿼리를 사용하여 각 행의 타임스탬프와 출석 열을 단일 문자열로 연결합니다. 이를 통해 id_branch_channel 및 id_member의 각 고유 쌍과 관련된 마지막으로 기록된 참석을 캡처할 수 있습니다. 그런 다음 MAX() 함수를 사용하여 연결된 문자열의 최대값을 선택하여 각 그룹에 대해 마지막으로 기록된 참석자를 효과적으로 제공합니다.
마지막 참석자가 확인되면 SUBSTRING()을 사용할 수 있습니다. 연결된 문자열에서 출석값만 추출하는 함수입니다. 이는 다음 쿼리로 가능합니다.
<code class="sql">SELECT id_branch_channel, id_member, SUBSTRING(last_attendance, 19) AS attendance FROM ( SELECT id_branch_channel, id_member, MAX(CONCAT(timestamp, attendance)) AS last_attendance FROM view_event_attendance WHERE id_event = 782 GROUP BY id_branch_channel, id_member ) AS subquery;</code>
이 쿼리는 하위 쿼리를 사용하여 초기 그룹화 및 연결을 수행한 후 SUBSTRING() 함수를 사용하여 결과에서 출석 열만 선택합니다.
이 기술을 사용하면 view_event_attendance 테이블의 각 행 그룹에 대해 마지막으로 기록된 참석자를 효과적으로 선택할 수 있습니다.
위 내용은 `GROUP BY`를 사용하여 MySQL에서 그룹의 마지막 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!