독특한 날짜-가격 조합으로 판매 기록 업데이트
이 가이드에서는 판매 테이블 내에서 고유한 가격-날짜 조합이 있는 판매 기록을 식별하고 업데이트하는 방법을 보여줍니다. 목표는 동일한 가격과 날짜를 공유하는 중복 항목 없이 해당 판매 항목만 업데이트하는 것입니다.
한 가지 방법은 SQL 쿼리를 사용하는 2단계 프로세스입니다.
1단계: 고유한 조합 식별
다음 쿼리는 해당 saleprice
및 발생 횟수와 함께 고유한 saledate
및 id
조합을 선택합니다.
<code class="language-sql">SELECT DISTINCT saleprice, saledate, id, COUNT(*) AS count FROM sales GROUP BY saleprice, saledate HAVING COUNT(*) = 1;</code>
이 쿼리는 판매 기록을 saleprice
및 saledate
으로 그룹화한 다음 HAVING
을 사용하여 결과를 필터링하여 고유한 조합을 나타내는 1의 개수를 갖는 그룹만 유지합니다.
2단계: 판매표 업데이트
이러한 고유 판매 기록의 status
을 'ACTIVE'로 업데이트하려면 다음 쿼리를 활용하세요.
<code class="language-sql">UPDATE sales SET status = 'ACTIVE' WHERE id IN ( SELECT id FROM sales s INNER JOIN ( SELECT saleprice, saledate FROM sales GROUP BY saleprice, saledate HAVING COUNT(*) = 1 ) AS unique_sales ON s.saleprice = unique_sales.saleprice AND s.saledate = unique_sales.saledate );</code>
이 쿼리는 sales
테이블을 업데이트하여 status
가 하위 쿼리에서 식별된 레코드와 일치하는 레코드에 대해 id
을 'ACTIVE'로 설정합니다. 하위 쿼리는 고유한 id
및 saleprice
조합과 관련된 saledate
값을 효율적으로 검색합니다. INNER JOIN
은 일치하는 레코드만 업데이트되도록 합니다.
이 접근 방식은 GROUP BY
및 HAVING
절의 강력한 기능을 활용하여 여러 열에서 개별 선택을 효과적으로 수행하고 원하는 업데이트를 달성합니다.
위 내용은 판매 테이블에서 고유한 날짜-가격 조합으로 행을 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!