Junior
Eladási elemzés termékkategóriánként egy kiskereskedelmi üzletben Ön egy kiskereskedelmi üzlet elemzője. Feladata, hogy kategóriánkénti értékesítési jelentést készítsen a következő számításokkal: • az adott kategóriában eladott összes egység száma (total_units_sold); • az adott kategória összbevételét figyelembe véve, kedvezményekkel, ahol a kedvezmény a következőképpen számítódik: unit_price × units_sold × (1 − discount/100). Ha a kedvezmény NULL, akkor 0%-nak tekintjük. Kerekítse két tizedesjegyre; • az egy eladásra jutó átlagos eladott egységek száma (avg_units_per_sale), két tizedesjegyre kerekítve; • a kedvezmény nélküli eladások aránya (no_discount_share) — a NULL vagy 0% kedvezménnyel történt eladások száma, osztva az összes eladással az adott kategóriában, három tizedesjegyre kerekítve. Először rendezze az eredményeket összbevétel szerint csökkenő sorrendben, majd az eladásonkénti átlagos egységszám szerint növekvő sorrendben, végül a kategória nevének ábécé sorrendjében. Bemeneti formátum Eladási tábla: • sale_id (int) — egyedi eladási azonosító • product_id (int) — termék azonosító • category (text) — termékkategória • sale_date (timestamp) — eladási dátum és idő • units_sold (int) — eladott egységek száma • unit_price (numeric) — egységár • discount (numeric) — kedvezmény százalékban, NULL lehet A discount oszlop tartalmazhat hiányzó értékeket. Kimeneti formátum A lekérdezésnek olyan táblát kell visszaadnia, amely a következő mezőket tartalmazza ebben a sorrendben: • category (text) — termékkategória • total_units_sold (int) — az adott kategóriában eladott összes egység száma • total_revenue (numeric) — összbevétel kategóriánként, két tizedesjegyre kerekítve • avg_units_per_sale (numeric) — eladásonkénti átlagos egységszám, két tizedesjegyre kerekítve • no_discount_share (numeric) — a kedvezmény nélküli eladások aránya (érték 0 és 1 között), három tizedesjegyre kerekítve Az eredményt először összbevétel szerint csökkenő sorrendben, majd az eladásonkénti átlagos egységszám szerint növekvő sorrendben, végül a kategória nevének ábécé sorrendjében kell rendezni.
sobes.tech MI
Válasz az MI-től
sql VÁLASZ kategória, SUM(eladott_egységek) MINT összes_eladott_egység, ROUND(SUM(egység_ár * eladott_egység * (1 - COALESCE(kedvezmény, 0) / 100.0)), 2) MINT össz_bevétel, ROUND(AVG(eladott_egység), 2) MINT átlag_egység_érték, ROUND( SUM(CASE WHEN kedvezmény NULL VAGY kedvezmény = 0 AKKOR 1 MÁS 0 VÉGE)::numerikus / COUNT(*), 3 ) MINT kedvezmény_nélküli_rész VON eladások CSOPORTOSÍTÁS KATEGÓRIA szerint RENDEZÉS össz_bevétel DESC, átlag_egység_érték ASC, kategória ASC;