Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Baris dengan Gabungan Tarikh-Harga Unik dalam Jadual Jualan?
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!