使用獨特的日期價格組合更新銷售記錄
本指南示範如何辨識並更新銷售表中擁有唯一價格-日期組合的銷售記錄。 目標是僅更新那些銷售條目,不存在任何共享相同價格和日期的重複條目。
一種方法涉及使用 SQL 查詢的兩步驟過程:
第 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中文網其他相關文章!