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
Lepaskan: 2025-01-23 05:52:08
asal
979 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan