집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 국가별로 가장 자주 사용되는 음식 ID를 찾는 방법은 무엇입니까?
SQL에서 다른 열의 값을 고려하여 해당 열의 가장 일반적인 값 찾기
다음과 같이 테이블에 여러 열이 포함된 시나리오에서 "country", "food_id" 및 "eate"의 일반적인 작업은 한 열("food_id")에 대해 가장 자주 발생하는 값을 확인하는 것입니다. 다른 열("국가")의 각 고유 값 내에서.
질문에서 언급한 것처럼 한 가지 접근 방식은 임시 테이블을 만들고 여러 하위 쿼리를 수행하여 개수를 계산하고, 최대 개수를 찾고, 해당 항목을 검색하는 것입니다. "food_id" 값입니다. 이 방법은 기능적이지만 번거로워 보일 수 있습니다.
다행히 PostgreSQL 9.4에서는 더 간단한 솔루션인 mode() 함수를 도입했습니다. 이 함수는 그룹화 표현식으로 정의된 각 그룹 내에서 지정된 열에 대해 가장 일반적인 값을 찾는 효율적인 방법을 제공합니다.
이 작업에 mode() 함수를 사용하려면 다음 SQL 쿼리를 사용할 수 있습니다.
SELECT mode() within group (order by food_id) FROM munch GROUP BY country
이 쿼리는 mode() 함수를 활용하여 각 고유 "국가" 값에 대해 가장 일반적인 "food_id" 값을 계산합니다. WITHIN GROUP (ORDER BY food_id) 절은 mode() 함수가 각 국가 그룹 내의 "food_id" 열에서 작동하여 모드를 식별하기 전에 오름차순으로 값의 순위를 매기도록 합니다.
이 쿼리의 결과 은 제공된 답변에서도 설명된 것처럼 "국가"와 이에 상응하는 가장 일반적인 "food_id" 값을 표시하는 테이블입니다:
country | mode -------------- GB | 3 US | 1
위 내용은 SQL에서 국가별로 가장 자주 사용되는 음식 ID를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!