| 1 | -- Zarabotka otstvarena preku narackite od aplikacijata za sekoj restoran na mesecno nivo |
| 2 | SELECT r.ime, DATE_PART('Month', n.datum) AS mesec, DATE_PART('Year', n.datum) AS godina, SUM(iznos) AS zarabotka |
| 3 | FROM restoran r |
| 4 | JOIN menu_item m ON r.id=m.restoran_id |
| 5 | JOIN naracka_sodrzi_menu_item nsm ON m.id=nsm.menu_item_id |
| 6 | JOIN naracka n ON nsm.naracka_id=n.id |
| 7 | JOIN naplata np ON n.id=np.naracka_id |
| 8 | GROUP BY r.ime, DATE_PART('Month', n.datum), DATE_PART('Year', n.datum); |
| 9 | |
| 10 | |
| 11 | -- Kolicina na prodadeni parcinja za sekoj proizvod ponuden vo restoranite, podredeni po popularnost na godisno nivo (najnaracuvaniot proizvod prv) |
| 12 | SELECT m.ime, DATE_PART('Year', n.datum) AS godina, SUM(nsm.quantity) AS kolicina |
| 13 | FROM menu_item m |
| 14 | JOIN naracka_sodrzi_menu_item nsm ON m.id=nsm.menu_item_id |
| 15 | JOIN naracka n ON nsm.naracka_id=n.id |
| 16 | GROUP BY m.ime, DATE_PART('Year', n.datum) |
| 17 | ORDER BY SUM(nsm.quantity) DESC; |
| 18 | |
| 19 | |
| 20 | -- Broj na naracki za sekoj restoran za sekoj mesec |
| 21 | SELECT r.ime, DATE_PART('Month', n.datum) AS mesec, DATE_PART('Year', n.datum) as godina, count(nsm.naracka_id) AS broj_na_naracki |
| 22 | FROM restoran r |
| 23 | JOIN menu_item m ON r.id=m.restoran_id |
| 24 | JOIN naracka_sodrzi_menu_item nsm ON m.id=nsm.menu_item_id |
| 25 | JOIN naracka n on nsm.naracka_id=n.id |
| 26 | GROUP BY r.ime, DATE_PART('Month', n.datum), DATE_PART('Year', n.datum); |
| 27 | |
| 28 | -- Pregled na broj na naracki po tip na naplata za sekoj restoran na mesecno nivo |
| 29 | SELECT r.ime, np.nacin_na_plakjane, DATE_PART('Month', n.datum) AS mesec, DATE_PART('Year', n.datum) as godina, COUNT(DISTINCT n.id) AS broj_na_naracki |
| 30 | FROM restoran r |
| 31 | JOIN menu_item m ON r.id=m.restoran_id |
| 32 | JOIN naracka_sodrzi_menu_item nsm ON m.id=nsm.menu_item_id |
| 33 | JOIN naracka n on nsm.naracka_id=n.id |
| 34 | JOIN naplata np ON n.id=np.naracka_id |
| 35 | GROUP BY r.ime, np.nacin_na_plakjane, DATE_PART('Month', n.datum), DATE_PART('Year', n.datum); |