Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Jumlah Bersyarat dalam Kumpulan Dengan Pertanyaan dalam MSSQL?
Penjumlahan bersyarat dalam pertanyaan terkumpul MSSQL
Dalam jadual OrderDetails SQL Server, setiap item pesanan mempunyai OrderId yang unik dan kos yang berkaitan (CopyCost, FullPrice) dan jenis harga (PriceType). Matlamatnya ialah untuk mencipta jadual ringkasan dengan tiga lajur: OrderId, ItemCount, TotalCopyCost dan TotalFullPrice, dengan ItemCount ialah bilangan item setiap pesanan, TotalCopyCost ialah jumlah nilai CopyCost untuk setiap pesanan dan TotalFullPrice ialah jumlah daripada nilai FullPrice untuk setiap pesanan.
Untuk ini, anda boleh menggunakan pertanyaan terkumpul dengan jumlah bersyarat:
<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>
Dalam pertanyaan ini:
Dengan menggunakan penjumlahan bersyarat, pertanyaan mengira jumlah kos dan harga penuh bagi setiap pesanan dan mengumpulkan hasilnya mengikut OrderId dengan cekap. Jadual ringkasan yang terhasil menyediakan paparan komprehensif data mentah, menjadikannya lebih mudah untuk menganalisis caj berkaitan pesanan.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Bersyarat dalam Kumpulan Dengan Pertanyaan dalam MSSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!