Sobes.tech
Junior

Анализа продаје по категоријама производа у малопродаји Радите као аналитичар у малопродаји. Ваш задатак је да креирате извештај о продаји по категоријама са следећим калкулацијама: • укупни број продатих јединица у категорији (total_units_sold); • укупни приход по категорији, узимајући у обзир попусте, где се попуст рачуна као unit_price × units_sold × (1 − discount/100). Ако је попуст NULL, сматра се да је 0%. Заокружити на две децимале; • просечан број продатих јединица по продаји (avg_units_per_sale), заокружен на две децимале; • удео продаја без попуста (no_discount_share) — број продаја са NULL или 0% попуста, подељен са укупним бројем продаја у категорији, заокружен на три децимале. Резултате сортирајте прво по укупном приходу (total_revenue) у опадајућем реду, затим по просечном броју јединица по продаји (avg_units_per_sale) у растућем реду, и на крају по имену категорије у азбучном реду. Формат улаза Табела sales: • sale_id (int) — јединствени идентификатор продаје • product_id (int) — идентификатор производа • category (text) — категорија производа • sale_date (timestamp) — датум и време продаје • units_sold (int) — продате јединице • unit_price (numeric) — цена по јединици • discount (numeric) — попуст у процентима, може бити NULL Колона discount може садржати празне вредности. Формат излаза Упит треба да врати табелу са пољима у овом редоследу: • category (text) — категорија производа • total_units_sold (int) — укупни број продатих јединица у овој категорији • total_revenue (numeric) — укупни приход по категорији, заокружен на две децимале • avg_units_per_sale (numeric) — просечан број јединица по продаји, заокружен на две децимале • no_discount_share (numeric) — удео продаја без попуста (вредност између 0 и 1), заокружен на три децимале Резултат треба сортирати прво по total_revenue у опадајућем реду, затим по avg_units_per_sale у растућем реду, и на крају по имену категорије у азбучном реду.

sobes.tech АИ

Одговор од АИ

sql ИЗБЕРИ категорија, SUM(продатих_јединица) КАО укупно_продатих_јединица, ROUND(SUM(цена_по_јединици * продатих_јединица * (1 - COALESCE(попуст, 0) / 100.0)), 2) КАО укупни_приход, ROUND(AVG(продатих_јединица), 2) КАО просек_јединица_по_продаји, ROUND( SUM(CASE WHEN попуст Е NULL ИЛИ попуст = 0 ТАДА 1 ИЛИ 0 КРАЈ) ::numeric / COUNT(*), 3 ) КАО проценат_без_попуста ИЗ_продаја ГРУПИСАТИ_ПО_категорији ПОРЕДАК_ПО укупни_приход DESC, просек_јединица_по_продаји ASC, категорија ASC;