Junior
Retail do'konida toifalar bo'yicha savdolar tahlili Siz chakana do'konda tahlilchisiz. Sizning vazifangiz — toifalar bo'yicha savdolar haqida hisobot tuzish, quyidagi hisob-kitoblar bilan: • toifada sotilgan umumiy birliklar soni (total_units_sold); • chegirmalarni hisobga olgan holda toifa bo'yicha umumiy daromad, bu yerda chegirma unit_price × units_sold × (1 − discount/100) shaklida hisoblanadi. Agar chegirma NULL bo'lsa, 0% deb hisoblang. Ikki raqamli aniqlik bilan yaxlitlang; • har bir savdoda o'rtacha sotilgan birliklar soni (avg_units_per_sale), ikki raqamli aniqlik bilan yaxlitlangan; • chegirmasiz savdolar ulushi (no_discount_share) — NULL yoki 0% chegirmali savdolar soni, toifadagi umumiy savdolar soniga bo'lingan va uch raqamli aniqlik bilan yaxlitlangan. Natijalarni avvalo umumiy daromad (total_revenue) bo'yicha kamayish tartibida, keyin har bir savdoda o'rtacha sotilgan birliklar soni (avg_units_per_sale) bo'yicha oshish tartibida, va oxirida toifalar nomi bo'yicha alfavit tartibida saralang. Kiritish formati Sales jadvali: • sale_id (int) — savdoning yagona identifikatori • product_id (int) — mahsulot identifikatori • category (text) — mahsulot toifasi • sale_date (timestamp) — savdo sanasi va vaqti • units_sold (int) — sotilgan birliklar soni • unit_price (numeric) — birlik narxi • discount (numeric) — chegirma foizi, NULL bo'lishi mumkin discount ustuni bo'sh qiymatlarni o'z ichiga olishi mumkin. Chiqish formati So'rov quyidagi maydonlarni o'z ichiga olgan jadvalni qaytarishi kerak: • category (text) — mahsulot toifasi • total_units_sold (int) — bu toifada sotilgan umumiy birliklar soni • total_revenue (numeric) — toifaga ko'ra umumiy daromad, ikki raqamli aniqlik bilan yaxlitlangan • avg_units_per_sale (numeric) — har bir savdoda o'rtacha birliklar soni, ikki raqamli aniqlik bilan yaxlitlangan • no_discount_share (numeric) — chegirmasiz savdolar ulushi (0 dan 1 gacha bo'lgan qiymat), uch raqamli aniqlik bilan yaxlitlangan Natija avvalo total_revenue bo'yicha kamayish tartibida, keyin avg_units_per_sale bo'yicha oshish tartibida va oxirida toifa nomi bo'yicha alfavit tartibida saralanadi.
sobes.tech AI
AIdan javob
sql TANLASH kategoriya, SUM(sotilgan_bolimlar) KABI umumiy_sotilgan_bolimlar, ROUND(SUM(bolim_narxi * sotilgan_bolimlar * (1 - COALESCE chegirma, 0) / 100.0), 2) KABI umumiy_ daromad, ROUND(AVG(sotilgan_bolimlar), 2) KABI o'rtacha_bolimlar_sotish, ROUND( SUM(CASE WHEN chegirma NULL OYSA chegirma = 0 THEN 1 ELSE 0 END)::numeric / COUNT(*), 3 ) KABI chegirmasiz_ulush DA sotuvlar GROPU BO'YICHA kategoriya TARTIB umumiy_daromad DESC, o'rtacha_bolimlar_sotish ASC, kategoriya ASC;