015. CTE (WITH)
Bu mavzuda umumiy jadval ifodalari bo'yicha 28 ta masala bor. Har bir masala oldida qavs ichida sxema nomi va qiyinlik darajasi ko'rsatilgan. Sxemalar Sxemalar va tayyorlov sahifasida berilgan.
Masalani o'zingiz yechib, natijani Kutilgan natija bilan solishtiring. O'zgartiruvchi masalalarda (INSERT, UPDATE, DELETE, DDL) natija shartda aytilgan tekshiruv so'rovidan olingan. Natija 10 qatordan ko'p bo'lsa, birinchi 10 qator ko'rsatilgan.
1. (dokon, oson) CTE bilan: o'rtacha narxni hisoblab, undan qimmat mahsulotlar sonini chiqaring.
2. (dokon, oson) CTE: buyurtmalar soni mijoz bo'yicha, 3 tadan ko'p buyurtma bergan mijozlar id.
3. (dokon, oson) CTE: kategoriya bo'yicha mahsulot soni; eng ko'p mahsulotli kategoriya id.
4. (dokon, o'rta) Ikki CTE: buyurtma jami summalari va mijoz bo'yicha yig'indi, eng ko'p sarflagan 3 mijoz.
5. (dokon, o'rta) CTE: har oy bo'yicha buyurtmalar soni va o'rtacha oylik son dan ko'p bo'lgan oylar.
6. (dokon, o'rta) CTE: to'lov summasi buyurtma bo'yicha va to'lovi o'rtachadan yuqori buyurtmalar id.
7. (dokon, o'rta) Ma'lumotni o'zgartiruvchi CTE: 1-kategoriya narxlarini 10% oshirib, yangilangan mahsulotlar sonini chiqaring.
8. (maktab, oson) CTE: o'quvchining o'rtacha bali, 4 dan yuqori o'quvchilar soni.
9. (maktab, o'rta) CTE: sinf bo'yicha o'quvchi soni va umumiy o'rtachadan ko'p sinflar nomi.
10. (maktab, o'rta) CTE: fan bo'yicha o'rtacha ball va eng qiyin fan (eng past o'rtacha) nomi.
11. (maktab, o'rta) Ikki CTE: kelmaganlar soni va baholar soni o'quvchi bo'yicha, ikkalasini birlashtirib birinchi 5 o'quvchi.
12. (bank, oson) CTE: mijoz bo'yicha jami balans, 30 mlndan ko'p mijozlar soni.
13. (bank, o'rta) CTE: oy bo'yicha kirim va chiqim; chiqimi kirimdan ko'p oylar.
14. (bank, o'rta) CTE: filial bo'yicha mijozlar soni va eng ko'p mijozli filial nomi.
15. (bank, o'rta) CTE: qarz holati bo'yicha o'rtacha muddat (oy) va umumiy o'rtachadan yuqori holatlar.
16. (bank, qiyin) Ma'lumotni o'zgartiruvchi CTE: 'kechikkan' qarzlarni 'yopilgan' ga o'tkazib, o'zgartirilgan summa jamini chiqaring.
17. (bank, qiyin) CTE: har bir mijozning eng katta hisobi va eng katta qarzi summalarini yonma-yon chiqaring (ikkalasi ham bor mijozlar).
Kutilgan natija
18. (kutubxona, oson) CTE: janr bo'yicha kitoblar soni; eng ko'p kitobli janr id.
19. (kutubxona, o'rta) CTE: a'zo bo'yicha ijaralar soni va o'rtachadan ko'p olgan a'zolar id.
20. (kutubxona, o'rta) CTE: muallif bo'yicha jami ijara soni va eng mashhur 3 muallif ismi.
21. (kutubxona, o'rta) CTE: kechikib qaytarilgan (14 kundan ko'p) ijaralar a'zo bo'yicha va eng ko'p kechiktirgan a'zo ismi.
22. (kutubxona, qiyin) CTE: har bir janr bo'yicha eng ko'p ijaraga olingan kitob (janr_id, kitob_id, soni) — ROW_NUMBER siz, JOIN bilan.
23. (kutubxona, qiyin) Ma'lumotni o'zgartiruvchi CTE: qaytarilmagan ijaralarni bugun (2024-12-31) qaytarilgan deb belgilab, nechtasi o'zgarganini chiqaring.
24. (dokon, qiyin) CTE: mijoz bo'yicha 2024 yil birinchi va oxirgi buyurtma sanasi hamda oraliq kunlari (kamida 2 ta buyurtma), birinchi 5.
Kutilgan natija
25. (dokon, qiyin) MATERIALIZED CTE: mahsulot bo'yicha sotilgan miqdor, eng ko'p sotilgan mahsulot nomi.
26. (maktab, qiyin) CTE: o'qituvchi bo'yicha baholar soni va o'rtacha ball, eng yuqori o'rtacha (kamida 15 baho) o'qituvchi ismi.
27. (maktab, qiyin) CTE: sinf bo'yicha qiz va o'g'il bolalar soni ustunlarga, sinf nomi bilan.
28. (bank, qiyin) CTE: tranzaksiyalar kunlik jami va 3 kunlik qo'shni oyna emas, shunchaki eng katta kunlik jami kun.