Changes between Version 6 and Version 7 of AdvancedReports


Ignore:
Timestamp:
04/22/24 20:04:31 (8 weeks ago)
Author:
133106
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v6 v7  
     1== Za sekoj restoran da se najdat menu items koi se najcesto prodavani, vkupna kolicina na prodadeni menu items i vkupna zarabotka i cena na item-ot
     2
     3{{{#!div style="font-size: 100%"
     4  {{{#!sql
     5WITH kolicina_na_mrodadeni_menu_items_po_restoran AS (
     6SELECT n.restoran_id, nsm.menuitem_id, COUNT(DISTINCT n.id) AS br_prodadeni_menuitems_po_restoran
     7FROM naracka n
     8JOIN naracka_sodrzi_menu_item nsm ON n.id=nsm.naracka_id
     9JOIN naplata na ON na.naracka_id=n.id
     10GROUP BY n.restoran_id, nsm.menuitem_id
     11), presmetka_najprodavan_menu_item_po_restoran AS(
     12SELECT restoran_id, menuitem_id, br_prodadeni_menuitems_po_restoran, ROW_NUMBER() OVER(PARTITON BY restoran_id, menuitem_id ORDER BY br_prodadeni_menuitems_po_restoran DESC) RN
     13FROM kolicina_na_mrodadeni_menu_items_po_restoran
     14)
     15SELECT r.ime AS ime_na_restoran, mi.ime AS najprodavan_menu_item, br_prodadeni_menuitems_po_restoran AS prodadena_kolicina, mi.cena AS cena_na_menu_item, (br_prodadeni_menuitems_po_restoran*mi.cena) AS vkupna_zarabotka_od_najprodavan_menu_item
     16FROM presmetka_najprodavan_menu_item_po_restoran nmipr
     17JOIN restoran r ON nmipr.restoran_id=r.id
     18JOIN menu_item mi ON nmipr.menuitem_id=mi.id
     19WHERE RN=1;
     20  }}}
     21}}}
     22
     23== Za sekoj restoran da se najde potrosuvacot(potrosuvacite) koj napravil najmnogu naracki za tekovnata godina, kolku naracki napravil vo restoranot i da se izlista adresa i telefonski broj na potrosuvacot
     24
     25{{{#!div style="font-size: 100%"
     26  {{{#!sql
     27WITH broj_na_naracki_potrosuvac_restoran_tekovna_godina AS(
     28SELECT n.potrosuvac_id, n.restoran_id, COUNT(DISTINCT n.id) AS broj_na_naracki
     29FROM naracka n
     30WHERE extract(year from n.datum)=extract(year from now())
     31GROUP BY n.potrosuvac_id, n.restoran_id
     32), presmetka_najveren_potrosuvac_po_restoran_za_tekovna_godina AS(
     33SELECT n.restoran_id, max(broj_na_naracki) as max_broj_naracki
     34FROM broj_na_naracki_potrosuvac_restoran_tekovna_godina
     35)
     36SELECT p.address AS adresa_na_najveren_potrosuvac, p.br_telefon AS br_telefon_na_najveren_potrosuvac, a.broj_na_naracki, r.ime AS ime_na_restoran
     37FROM broj_na_naracki_potrosuvac_restoran_tekovna_godina a
     38JOIN presmetka_najveren_potrosuvac_po_restoran_za_tekovna_godina b ON a.restoran_id=b.restoran_id AND a.broj_na_naracki=b.max_broj_naracki
     39JOIN potrosuvac p ON p.korisnik_id=a.potrosuvac_id
     40JOIN restoran r ON a.restoran_id=r.id;
     41  }}}
     42}}}
     43
     44
     45
     46== Restoran so najmnogu naracki vo poslednite tri meseci
     47
     48{{{#!div style="font-size: 100%"
     49  {{{#!sql
     50CREATE VIEW restoran_broj_naracki AS
     51SELECT n.restoran_id, COUNT(DISTINCT n.id) AS broj_na_naracki
     52FROM naracka n
     53WHERE n.datum between (now()-interval '3 months') and now()
     54GROUP BY n.restoran_id;
     55
     56SELECT r.ime AS ime_na_restoran, rbn.broj_na_naracki
     57FROM restoran_broj_naracki rbn
     58JOIN restoran r ON rbn.restoran_id=r.id
     59WHERE rbn.broj_na_naracki = (SELECT MAX(broj_na_naracki) FROM restoran_broj_naracki);
     60  }}}
     61}}}
     62
     63
     64
    165== Zarabotka otstvarena preku narackite od aplikacijata za sekoj restoran na mesecno nivo
    266
    367{{{#!div style="font-size: 100%"
    468  {{{#!sql
    5 -- Zarabotka otstvarena preku narackite od aplikacijata za sekoj restoran na mesecno nivo
    669SELECT r.ime, DATE_PART('Month', n.datum) AS mesec, DATE_PART('Year', n.datum) AS godina, SUM(iznos) AS zarabotka
    770FROM restoran r
     
    1780{{{#!div style="font-size: 100%"
    1881  {{{#!sql
    19 -- Kolicina na prodadeni parcinja za sekoj proizvod ponuden vo restoranite, podredeni po popularnost na godisno nivo (najnaracuvaniot proizvod prv)
    2082SELECT m.ime, DATE_PART('Year', n.datum) AS godina, SUM(nsm.quantity) AS kolicina
    2183FROM menu_item m
     
    3092{{{#!div style="font-size: 100%"
    3193  {{{#!sql
    32 -- Broj na naracki za sekoj restoran za sekoj mesec
    3394SELECT r.ime, DATE_PART('Month', n.datum) AS mesec, DATE_PART('Year', n.datum) as godina, count(nsm.naracka_id) AS broj_na_naracki
    3495FROM restoran r
     
    43104{{{#!div style="font-size: 100%"
    44105  {{{#!sql
    45 -- Pregled na broj na naracki po tip na naplata za sekoj restoran na mesecno nivo
    46106SELECT 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
    47107FROM restoran r