CASE · SUM · GROUP BY · doanh thu theo tháng và kênh

SUM(CASE ...) xoay dòng thành cột

Tổng hợp có điều kiện: xoay dòng thành cột Năm đơn đã thanh toán của quý 1 năm 2025 đi qua CASE: mỗi đơn đưa tiền vào cột online hoặc offline, cột còn lại nhận 0; GROUP BY tháng rồi SUM gom 5 dòng thành 3 dòng: tháng 1 online 699.000 và offline 26.990.000, tháng 2 online 5.780.000 và offline 7.881.000, tháng 3 online 0 và offline 1.380.000. BƯỚC 1 · MỖI ĐƠN MỘT DÒNG CTE don_hang, quý 1/2025 BƯỚC 2 · CASE TÁCH THEO KÊNH tính trên từng dòng BƯỚC 3 · GROUP BY + SUM 5 dòng gom còn 3 dòng order_id thang channel tien 1 1 online 699.000 2 1 offline 26.990.000 3 2 online 5.780.000 4 2 offline 7.881.000 6 3 offline 1.380.000 online offline 699.000 0 0 26.990.000 5.780.000 0 0 7.881.000 0 1.380.000 thang online offline 1 699.000 26.990.000 2 5.780.000 7.881.000 3 0 1.380.000 SUM(CASE WHEN channel = 'online' THEN tien ELSE 0 END) AS online Mỗi dòng góp tiền vào đúng một cột, cột kia nhận 0. SUM cộng các dòng cùng tháng. © tiennhm