Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Jumlah Bersyarat dalam Kueri SQL Berkumpulan (MSSQL)?

Bagaimana untuk Mengira Jumlah Bersyarat dalam Kueri SQL Berkumpulan (MSSQL)?

Patricia Arquette
Patricia Arquetteasal
2025-01-08 06:48:40866semak imbas

How to Calculate Conditional Sums within a Grouped SQL Query (MSSQL)?

Menggunakan penjumlahan bersyarat dalam Kumpulan Mengikut pertanyaan - MSSQL

Freddie memerlukan pertanyaan SQL untuk meringkaskan data jadual berdasarkan kriteria tertentu. Jadual asal OrderDetails mengandungi empat lajur yang mewakili kos yang berkaitan dengan pesanan tertentu (OrderId). Matlamatnya ialah untuk mencipta jadual baharu dengan lima lajur: OrderId, ItemCount, TotalCopyCost dan TotalFullPrice.

Untuk mendapatkan hasil yang diingini, gabungan pernyataan Kumpulan Mengikut dan KES digunakan. Group By digunakan untuk mengumpulkan data mengikut OrderId, manakala penyata CASE menjumlahkan nilai CopyCost dan FullPrice secara bersyarat berdasarkan lajur PriceType:

<code class="language-sql">SELECT OrderId, 
       COUNT(*) AS ItemCount,
       SUM(CASE WHEN PriceType = 'CopyCost' THEN Price ELSE 0 END) AS TotalCopyCost,
       SUM(CASE WHEN PriceType = 'FullPrice' THEN Price ELSE 0 END) AS TotalFullPrice
  FROM OrderDetails
 GROUP BY OrderId;</code>

Pertanyaan ini secara berkesan mengumpulkan jadual OrderDetails mengikut OrderId, mengira bilangan item dalam setiap kumpulan dan menjumlahkan nilai CopyCost dan FullPrice secara bersyarat untuk setiap kumpulan, menghasilkan jadual baharu dengan skema yang dikehendaki .

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Bersyarat dalam Kueri SQL Berkumpulan (MSSQL)?. 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