Kurse › Vendime të bazuara në të dhëna: nga pyetja te përgjigjja
Grupimi në një tabelë gati për grafik
Mësimi 6 nga 8 · 13 min
Një rresht për çdo shtyllë
Një grafik është një tabelë e maskuar. Një grafik me shtylla i të ardhurave sipas burimit ka nevojë saktësisht për një rresht për çdo burim dhe një kolonë për çdo vlerë. Kalimi nga mijëra rreshta porosish te disa rreshta përmbledhës është puna e GROUP BY.
SELECT source,
COUNT(*) AS orders,
ROUND(SUM(net_amount), 2) AS revenue
FROM orders
WHERE status = 'delivered'
AND order_date >= '2026-01-01'
AND order_date < '2026-04-01'
GROUP BY source
ORDER BY revenue DESC;GROUP BY source shkrin të gjithë rreshtat me të njëjtin burim në një rresht të vetëm, dhe funksionet grumbulluese si COUNT dhe SUM punojnë atëherë brenda çdo grupi. Çdo kolonë në SELECT duhet ose të shfaqet në GROUP BY, ose të jetë brenda një funksioni grumbullues. Përndryshe SQL nuk mund të dijë cilën nga shumë vlerat në një grup ta tregojë.
Për tremujorin e parë të 2026-s, rezultati vendos direct të parin me CHF 14'711.70, pastaj kërkimin e paguar me CHF 5'798.60 dhe kërkimin organik me CHF 5'716.96. Rrjetet sociale vijnë të fundit me CHF 2'662.37. Lexojeni me kujdes: source është burimi i vizitës që çoi te porosia. Nga 273 porositë e bëra nga vizitat direkte në atë tremujor, vetëm 22 ishin porosi e parë. Kjo tabelë tregon ku mbërrijnë porositë, jo cili kanal fitoi klientin.
Grupimi sipas një vlere të llogaritur
Për t'u grupuar sipas muajit, llogaritni muajin nga data. strftime(order_date, '%Y-%m') e formaton një datë si tekst, si 2025-07. Meqë teksti fillon me vitin, renditja e tij i rendit gjithashtu muajt sipas kohës.
- Emërtoni kolonën e llogaritur me
AS, për shembullAS month. Në DuckDB mund të shkruani pastajGROUP BY month; në disa baza të tjera të dhënash e përsërisni llogaritjen. - Filtroni para se të gruponi.
WHEREi heq rreshtat para se të grupohen, kështu që porositë e anuluara nuk arrijnë kurrë te shumat. - Renditni rreshtat ashtu si lexohet grafiku: muajt sipas kohës, kategoritë sipas madhësisë.
- Mbajeni numrin e rreshtave mjaftueshëm të vogël për t'u lexuar. Tetë rajone ose dymbëdhjetë muaj japin një grafik të mirë; 96 produkte zakonisht kërkojnë 10 kryesorët dhe një rresht për pjesën tjetër.
Si duket viti
Grupuar sipas muajit, të ardhurat e dërguara në 2025 shkojnë nga CHF 7'963.79 në korrik deri në CHF 18'373.89 në dhjetor. Dhjetori nuk pati më shumë porosi; nëntori pati, me 273. Shportat e dhjetorit ishin më të mëdhatë, mesatarisht CHF 70.67. Tremujori i dytë i 2025-s solli CHF 37'265.67.
Porositë dhe të ardhurat nuk i renditin gjithmonë grupet në të njëjtën mënyrë. Në 2025, Gjeneva pati 272 porosi të dërguara dhe Bazeli 264, e megjithatë Bazeli solli më shumë të ardhura, CHF 16'079.85 kundrejt CHF 15'744.15, sepse porositë e tij ishin më të mëdha mesatarisht. Kur dy vlera mund të tregojnë histori të ndryshme, të dyja kolonat i takojnë tabelës.
Kjo formë ka rëndësi për Lenën në dy mënyra. Tremujori i dytë nuk është stinë kulmore, kështu që të ardhura të sheshta nga prilli deri në qershor nuk do të provonin se një buxhet i ri dështoi. Dhe rezultatet e kanaleve nga dhjetori nuk duhen krahasuar me rezultatet e korrikut pa e thënë këtë në memo.
Hyrje për të përgjigjur dhe ndjekur përparimin tuaj.
Hyrje