Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Baris dengan Gabungan Tarikh-Harga Unik dalam Jadual Jualan?

Bagaimana untuk Mengemas kini Baris dengan Gabungan Tarikh-Harga Unik dalam Jadual Jualan?

Susan Sarandon
Susan Sarandonasal
2025-01-23 05:52:08984semak imbas

How to Update Rows with Unique Date-Price Combinations in a Sales Table?

Mengemaskini Rekod Jualan dengan Kombinasi Tarikh-Harga Unik

Panduan ini menunjukkan cara mengenal pasti dan mengemas kini rekod jualan yang mempunyai kombinasi tarikh harga yang unik dalam jadual jualan. Objektifnya adalah untuk mengemas kini hanya entri jualan tersebut tanpa sebarang pendua yang berkongsi harga dan tarikh yang sama.

Satu kaedah melibatkan proses dua langkah menggunakan pertanyaan SQL:

Langkah 1: Mengenalpasti Gabungan Unik

Pertanyaan berikut memilih gabungan saleprice dan saledate unik, bersama dengan id yang sepadan dan kiraan kejadian:

<code class="language-sql">SELECT DISTINCT saleprice, saledate, id, COUNT(*) AS count
FROM sales
GROUP BY saleprice, saledate
HAVING COUNT(*) = 1;</code>

Pertanyaan ini mengumpulkan rekod jualan mengikut saleprice dan saledate, kemudian menapis hasil menggunakan HAVING untuk mengekalkan kumpulan tersebut dengan kiraan satu sahaja, menandakan gabungan unik.

Langkah 2: Mengemas kini Jadual Jualan

Untuk mengemas kini status rekod jualan unik ini kepada 'AKTIF', gunakan pertanyaan berikut:

<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>

Pertanyaan ini mengemas kini jadual sales, menetapkan status kepada 'AKTIF' untuk rekod yang id sepadan dengan yang dikenal pasti dalam subkueri. Subkueri dengan cekap mendapatkan semula nilai id yang dikaitkan dengan gabungan saleprice dan saledate unik. INNER JOIN memastikan bahawa hanya rekod yang sepadan dikemas kini.

Pendekatan ini memanfaatkan kuasa fasal GROUP BY dan HAVING untuk melaksanakan pemilihan yang berbeza dengan berkesan merentas berbilang lajur dan mencapai kemas kini yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris dengan Gabungan Tarikh-Harga Unik dalam Jadual Jualan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn