>  기사  >  데이터 베이스  >  MySQL JOIN 및 LIMIT 1을 사용하여 각 카테고리의 첫 번째 제품을 검색하는 방법은 무엇입니까?

MySQL JOIN 및 LIMIT 1을 사용하여 각 카테고리의 첫 번째 제품을 검색하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-23 10:27:10451검색

How to Retrieve the First Product for Each Category Using MySQL JOIN and LIMIT 1?

조인된 테이블에 LIMIT 1을 사용하여 MySQL JOIN

이 질문은 조인된 테이블의 결과를 단일 테이블로 제한하면서 두 테이블을 조인하는 것에 관한 것입니다. 첫 번째 테이블에 각 일치 항목에 대한 기록이 있습니다.

이 경우 카테고리와 제품이라는 두 테이블을 고려해보세요. 여기서 각 제품은 카테고리에 속합니다. 목표는 해당 카테고리 내의 첫 번째 제품과 함께 각 카테고리를 검색하는 것입니다.

이를 달성하기 위해 하위 쿼리를 사용하여 ID별로 정렬된 각 카테고리 내 첫 번째 제품의 기본 키를 가져옵니다. 그런 다음 이 기본 키는 외부 쿼리에서 해당 카테고리 및 제품 정보를 검색하는 데 사용됩니다.

쿼리는 다음과 같이 구성될 수 있습니다.

SELECT
  c.id,
  c.title,
  p.id AS product_id,
  p.title AS product_title
FROM categories AS c
JOIN products AS p ON
  p.id = (
    SELECT p1.id
    FROM products AS p1
    WHERE c.id = p1.category_id
    ORDER BY p1.id
    LIMIT 1
  )

이 접근 방식을 사용하면 단일 제품만 검색할 수 있습니다. 카테고리별로 기록을 검색하여 원하는 결과를 효과적으로 처리합니다.

위 내용은 MySQL JOIN 및 LIMIT 1을 사용하여 각 카테고리의 첫 번째 제품을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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