>데이터 베이스 >MySQL 튜토리얼 >국가별로 가장 자주 소비되는 식품을 SQL에서 어떻게 효율적으로 찾을 수 있나요?

국가별로 가장 자주 소비되는 식품을 SQL에서 어떻게 효율적으로 찾을 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-12-30 02:39:08321검색

How Can I Efficiently Find the Most Frequently Consumed Food Item per Country in SQL?

SQL에서 가장 일반적인 값을 찾는 효율적인 쿼리

다음 구조의 테이블을 생각해 보세요.

  • country: 국가의 텍스트 표현
  • food_id: 국가의 고유 식별자 각 음식 유형
  • 먹음: 음식을 섭취한 날짜

당면 과제는 국가별로 가장 자주 소비되는 식품을 식별하는 것입니다. 일반적인 접근 방식은 질문에 표시된 대로 개수와 최대값을 계산하기 위해 여러 개의 임시 테이블을 만드는 것입니다. 그러나 이 방법은 번거로울 수 있으며 여러 음식의 개수가 동일한 경우 연결을 끊어야 할 수도 있습니다.

간단한 솔루션

PostgreSQL 9.4에서는 mode() 함수를 도입했습니다. 보다 간단한 접근 방식을 제공합니다.

select mode() within group (order by food_id)
from munch
group by country

이 쿼리는 각 항목에 대해 가장 일반적인 식품 항목을 반환합니다. 복잡한 계산과 임시 테이블의 필요성을 효과적으로 제거합니다. 그 결과는 다음과 같습니다.

country | mode
--------------
GB      | 3
US      | 1

위 내용은 국가별로 가장 자주 소비되는 식품을 SQL에서 어떻게 효율적으로 찾을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.