집 >데이터 베이스 >MySQL 튜토리얼 >데이터베이스 테이블에서 각 그룹의 최대값을 찾는 방법은 무엇입니까?
관계형 함수를 사용하여 각 그룹화의 최대값 찾기
데이터베이스에서는 의미 있는 통찰력을 추출하기 위해 데이터를 그룹화하고 집계하는 것이 일반적입니다. 이러한 집계 함수 중 하나는 각 데이터 그룹의 최대값을 선택하는 것입니다.
펌프 이름("name"), 값("value") 및 다른 열("AnotherColumn")로 구성된 펌프 사용 정보가 포함된 "out_pumptable"이라는 가상의 테이블을 생각해 보겠습니다. 샘플 데이터는 다음과 같습니다.
<code>Name Value AnotherColumn ----------- Pump 1 8000.0 Something1 Pump 1 10000.0 Something2 Pump 1 10000.0 Something3 Pump 2 3043 Something4 Pump 2 4594 Something5 Pump 2 6165 Something6</code>
그룹화 및 최대 집계
각 펌프의 최대값을 선택하기 위해 SQL에서 GROUP BY 및 MAX() 함수를 사용합니다. 다음 쿼리를 사용하면 이 작업을 수행할 수 있습니다.
<code>SELECT name, MAX(value) FROM out_pumptable GROUP BY name</code>
쿼리 이해
중복입력 문제 해결
주어진 예제 코드에는 동일한 최대값을 가진 펌프에 대한 중복 항목이 있을 수 있습니다. 이는 쿼리가 각 행을 최대값과 일치시켜 중복된 항목이 발생하기 때문입니다.
이 문제를 해결하기 위해 쿼리를 수정하여 "이름"과 "값"의 다양한 조합을 선택할 수 있습니다.
<code>SELECT DISTINCT name, MAX(value) FROM out_pumptable GROUP BY name</code>
이 수정을 통해 최대값이 동일한 여러 행이 있더라도 각 펌프가 한 번만 표시됩니다.
위 내용은 데이터베이스 테이블에서 각 그룹의 최대값을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!