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.

SQL
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 shembull AS month. Në DuckDB mund të shkruani pastaj GROUP BY month; në disa baza të tjera të dhënash e përsërisni llogaritjen.
  • Filtroni para se të gruponi. WHERE i 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.

💡 Një tabelë gati për grafik nuk ka qeliza bosh, ka një njësi të qartë për çdo kolonë, si porosi apo CHF, dhe saktësisht rreshtat që do t'i tregojë grafiku. Nëse duhet të fshini rreshta në një fletëllogaritëse para se ta bëni grafikun, ndryshoni pyetjen SQL në vend të kësaj.
Kontroll i njohurive
Cila pyetje kthen një tabelë të saktë, gati për grafik, të porosive sipas rajonit?

Hyrje për të përgjigjur dhe ndjekur përparimin tuaj.

Hyrje
</>
Babala Software Netzwerk — Apps, Websites & KI-Lösungen aus Füllinsdorf BL
© 2026 Babala Özdemir · UID CHE-322.105.560 babala.ch info@babala.ch 076 792 63 50 Facebook Instagram