Changes between Version 3 and Version 4 of AdvancedReports


Ignore:
Timestamp:
01/30/25 14:24:58 (3 weeks ago)
Author:
223270
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TabularUnified AdvancedReports

    v3 v4  
    11== Напредни извештаи од базата (SQL)
    22
    3 === Персонализирани препораки за дестинации
     3=== Дестинации со најголем број на разновидни настани
    44{{{
    5 SELECT d.imeLokacija, AVG(r.kvalitet) AS average_rating
     5SELECT d.imeLokacija, COUNT(DISTINCT n.kategorija) AS brojRaznovidniNastani
     6FROM DESTINACII d
     7JOIN NASTANI n ON d.idDest = n.idDest
     8GROUP BY d.imeLokacija
     9ORDER BY brojRaznovidniNastani DESC;
     10}}}
     11
     12
     13=== Настани на одредена дестинација
     14Дополнително, за да се прикажат различни категории на настани за одредена дестинација:
     15{{{
     16SELECT DISTINCT n.kategorija
     17FROM NASTANI n
     18JOIN DESTINACII d ON n.idDest = d.idDest
     19WHERE d.imeLokacija = 'Охрид';
     20}}}
     21
     22
     23=== Топ 10 дестинации според рецензии (атрибут kvalitet)
     24{{{
     25SELECT d.imeLokacija, AVG(r.kvalitet) AS prosekKvalitet
    626FROM DESTINACII d
    727JOIN RECENZII r ON d.idDest = r.idDest
    8 JOIN PREFERENCI p ON r.idKorisnik = p.idKorisnik
    9 WHERE p.tipPreferenca = 'море'
    10 AND d.preporachanaSezona = 'лето'
    1128GROUP BY d.imeLokacija
    12 HAVING AVG(r.kvalitet) > 4
    13 ORDER BY average_rating DESC;
     29ORDER BY prosekKvalitet DESC
     30LIMIT 10;
    1431}}}
    1532
    16 === Преглед на рецензии
     33
     34=== Дестинации со најголем број на активности под различни цени т.е. опсези
    1735{{{
    18 SELECT r.korisnichkoIme, r.kvalitet, r.zabeleshka, r.datumRecenzija, r.brGlasovi
    19 FROM RECENZII r
    20 WHERE r.kvalitet >= 4
    21 AND r.zabeleshka IS NOT NULL
    22 ORDER BY r.kvalitet DESC;
     36SELECT d.imeLokacija,
     37       SUM(CASE WHEN a.iznos < 20 THEN 1 ELSE 0 END) AS aktivnostiPod20,
     38       SUM(CASE WHEN a.iznos < 50 THEN 1 ELSE 0 END) AS aktivnostiPod50,
     39       SUM(CASE WHEN a.iznos < 100 THEN 1 ELSE 0 END) AS aktivnostiPod100
     40FROM DESTINACII d
     41JOIN AKTIVNOSTI a ON d.idDest = a.idDest
     42GROUP BY d.imeLokacija
     43ORDER BY aktivnostiPod20 DESC, aktivnostiPod50 DESC, aktivnostiPod100 DESC;
    2344}}}
    2445
    25 === Динамичко филтрирање на дестинации
     46
     47=== Дестинации со најголем процент на достапни(евтини) активности
    2648{{{
    27 SELECT d.imeLokacija, d.preporachanaSezona, a.imeAktivnost, m.sostojbaVreme
     49SELECT d.imeLokacija,
     50       COUNT(a.idAktivnost) AS vkupnoAktivnosti,
     51       SUM(CASE WHEN a.iznos < 20 THEN 1 ELSE 0 END) AS efiniAktivnosti,
     52       (SUM(CASE WHEN a.iznos < 20 THEN 1 ELSE 0 END) * 100.0 / COUNT(a.idAktivnost)) AS procentEfiniAktivnosti
    2853FROM DESTINACII d
    2954JOIN AKTIVNOSTI a ON d.idDest = a.idDest
    30 JOIN METEROLOSHKASOSTOJBA m ON d.idDest = m.idDest
    31 WHERE d.preporachanaSezona = 'лето'
    32 AND m.sostojbaVreme = 'сончево'
    33 AND a.kategorija IN ('пешачење', 'пливање')
    34 ORDER BY d.imeLokacija;
     55GROUP BY d.imeLokacija
     56HAVING COUNT(a.idAktivnost) > 0
     57ORDER BY procentEfiniAktivnosti DESC;
    3558}}}
     59
     60
     61=== Топ 10 корисници со најголем број напишани рецензии
     62{{{
     63SELECT k.ime, k.prezime, COUNT(r.idRecenzija) AS brojRecenzii
     64FROM KORISNICI k
     65JOIN RECENZII r ON k.idKorisnik = r.idKorisnik
     66GROUP BY k.idKorisnik, k.ime, k.prezime
     67ORDER BY brojRecenzii DESC
     68LIMIT 10;
     69}}}
     70
     71
     72=== Најисплатливи пакети (Best value for money)
     73{{{
     74SELECT p.imePaket, p.cena, TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS vremeTraenjeDena,
     75       p.cena / TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS cenaPoDen
     76FROM PAKETI p
     77WHERE TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) > 0
     78ORDER BY cenaPoDen ASC
     79LIMIT 10;
     80}}}
     81
     82