Junior
Müügitulemuste analüüs kategooriate kaupa jaotuses kaupluses Te töötate analüütikuna ja teie ülesandeks on koostada müügitulemuste aruanne kategooriate kaupa arvutustega: • kategoorias müüdud ühikute koguarv (total_units_sold); • kategooria kogutulu, ar arvestu ar allahindlust, kus allahindlus rakendub kui unit_price × units_sold × (1 − discount/100). Kui allahindlus puudub (NULL), arvesta see 0%. Rõhutada kuni kahe kümnendkoha kohani; • keskmine müüdud ühikute arv ühe müügi kohta (avg_units_per_sale), ümardatuna kuni kahe kümnendkoha kohani; • müükide osakaal ilma allahindluseta (no_discount_share) — müükide arv NULL või 0% allahindlusega, jagatuna kogu müügimahtuga kategoorias, ümardatuna kolme kümnendkoha kohani: Esmalt sorteerige tulemus mahult vähenevaks total_revenue järgi, siis kasvavalt keskmise ühikute arvu (avg_units_per_sale) järgi ja lõpuks kategooria nime alfabeta järjestuses: Sisendvorming Müüg tabel: • sale_id (int) — unikaalne müügi identifikaator • product_id (int) — toote identifikaator • category (text) — toote kategooria • sale_date (timestamp) — müügi kuupäev ja kellaaeg • units_sold (int) — müüdud ühikute arv • unit_price (numeric) — ühe ühiku hind • discount (numeric) — toote allahindlus protsentides, võib olla NULL Allahindluse veerg võib sisaldada tühje väärtusi: Väljundi formaat Päring peab tagastama tabeli järgmiste väljadega järjekorras: • category (text) — toote kategooria • total_units_sold (int) — selle kategooria müüdud ühikute koguarv • total_revenue (numeric) — kategooria kogutulu, arvestades allahindlusi, ümardatud kahe kümnendkoha kohani • avg_units_per_sale (numeric) — keskmine ühikute arv ühes tellimuses, ümardatud kahe kümnendkoha kohani • no_discount_share (numeric) — allahindluseta müükide osakaal, vahemikus 0 kuni 1, ümardatud kolme kümnendkoha kohani Tulemust sorteeritakse esmalt mahult vähenevaks total_revenue järgi, siis kasvavalt avg_units_per_sale järgi ja lõpuks kategooria nime alfabeta järjestuses.
sobes.tech AI
Vastus AI-lt
sql VALIIGE kategooria, SUM(müüdud_üksused) KUI üldmüüdud_üksused, ROUND(SUM(üksuse_hind * müüdud_üksused * (1 - COALESCE(allahindlus, 0) / 100.0)), 2) KUI kogutulu_tulu, ROUND(AVG(müüdud_üksused), 2) KUI keskmine_üksus_per_müük, ROUND( SUM(CASE WHEN allahindlus NULL VÕI allahindlus = 0 SIIS 1 MUU 0 LÕPP) ::numeric / COUNT(*), 3 ) KUI ilma_allahindluseta_osalus MÜÜKIDEST GRUPPEERIGE_kategooria_põhjal SORTEERIGE_pärast kogutulu DESC, keskmine_üksus_per_müük ASC, kategooria ASC;