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
Lepaskan: 2025-01-08 06:48:40
asal
829 orang telah melayarinya

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

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!

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