Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Nilai Jadual Menggunakan Fungsi Agregat dalam SQL?

Bagaimana untuk Mengemas kini Nilai Jadual Menggunakan Fungsi Agregat dalam SQL?

Linda Hamilton
Lepaskan: 2024-12-28 10:15:18
asal
874 orang telah melayarinya

How to Update Table Values Using Aggregate Functions in SQL?

Mengemas kini Nilai Jadual dengan Fungsi Agregat dalam SQL

Dalam SQL, matlamatnya adalah untuk mengubah suai lajur medan1 jadual1 menggunakan fungsi agregat , seperti SUM, untuk mengira nilai daripada jadual berkaitan2. Walau bagaimanapun, pelaksanaan langsung boleh menghadapi had disebabkan oleh operasi yang tidak disokong dalam klausa SET.

Untuk menyelesaikannya, pendekatan alternatif digunakan. Kami menggunakan subkueri untuk pra-mengira nilai agregat dan kemudian menggunakan hasil itu sebagai sumber untuk kemas kini. Dalam kes ini, kami mengira jumlah jadual2.field2 untuk setiap nilai unik medan3 menggunakan GROUP BY.

Berikut ialah pertanyaan yang disemak yang menggabungkan teknik ini:


KEMASKINI t1
SET t1.field1 = t2.field2Sum
DARI jadual1 t1
SERTAI DALAM (

SELECT field3, SUM(field2) AS field2Sum
FROM table2
GROUP BY field3
Salin selepas log masuk

) SEBAGAI t2
PADA t2.field3 = t1.field3;

Dalam pertanyaan semakan ini:

  • Subkueri dalam kurungan mengira jumlah table2.field2 untuk setiap nilai unik medan3 dan menyimpan hasilnya dalam jadual sementara atau jadual terbitan bernama t2.
  • Pertanyaan luar kemudiannya bergabung dengan jadual1 dengan t2 pada lajur medan3 dan mengemas kini lajur medan1 jadual1 menggunakan nilai field2Sum daripada t2.

Pendekatan ini membolehkan kami menggunakan kuasa fungsi agregat seperti SUM manakala mengemas kini jadual, menyediakan mekanisme yang fleksibel dan cekap untuk memanipulasi data dalam SQL.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Nilai Jadual Menggunakan Fungsi Agregat dalam SQL?. 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