Asosiy matnga o'tish

128. To'lov holatlari bo'yicha pivot

O'rtacha

To'lov usullarini ustunlarga aylantiring: har oy uchun bitta qator, har bir

usul bo'yicha alohida summa.

Buni shartli agregatsiya bilan qiling — `SUM(CASE WHEN ... THEN amount

ELSE 0 END)` shaklida.

O'sha oyda umuman ishlatilmagan usul uchun NULL emas, 0 chiqsin.

Ustunlar: month (oy raqami, butun son), uzcard, humo, visa.

Saralash: month o'sish.

payments: id INT PK, method VARCHAR, paid_at DATE, amount NUMERIC(12,2)

Namuna ma'lumotlar

sample
payments
idINTmethodVARCHAR(10)paid_atDATEamountNUMERIC(12,2)
1UZCARD2025-01-05120000
4VISA2025-01-25300000
5HUMO2025-02-03150000
Kutilgan natija
humovisamonthuzcard
03000001120000
150000020
sample-full
payments
idINTmethodVARCHAR(10)paid_atDATEamountNUMERIC(12,2)
1UZCARD2025-01-05120000
2HUMO2025-01-1180000
3UZCARD2025-01-1945000
4VISA2025-01-25300000
5HUMO2025-02-03150000
6HUMO2025-02-1495000
7UZCARD2025-02-20210000
8VISA2025-03-02180000
9VISA2025-03-08220000
10UZCARD2025-03-1560000
11HUMO2025-03-2235000
12UZCARD2025-04-0490000
13UZCARD2025-04-1855000
14HUMO2025-04-2740000
Kutilgan natija
humovisamonthuzcard
800003000001165000
24500002210000
35000400000360000
4000004145000
sample-extra
payments
idINTmethodVARCHAR(10)paid_atDATEamountNUMERIC(12,2)
5HUMO2025-01-1935000
1VISA2025-04-17259549.3
3VISA2025-05-0141395.84
2UZCARD2025-03-2228259.56
4HUMO2024-12-27321800
Kutilgan natija
humovisamonthuzcard
35000010
00328259.56
0259549.340
041395.8450
3218000120

O'xshash masalalar

Konsol

Natijani ko'rish uchun so'rovni ishga tushiring.