Changes between Version 5 and Version 6 of AdvancedReports
- Timestamp:
- 02/06/25 03:40:33 (2 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedReports
v5 v6 4 4 Идентификување на дестинации кои имаат најголем број на различни видови настани. Во долунаведениот код се пребаруваат сите дестинации и ги брои различните видови на настани (како концерти, фестивали, саеми и сл.) поврзани со секоја дестинација. Потоа, резултатите се сортираат по бројот на различни настани во опаѓачки редослед и се добива еден вид на рангирање. Од особено значење за корисници што сакаат да вклучат повеќе разновидни настани при нивното патување. 5 5 {{{ 6 SELECT d.imeLokacija , COUNT(DISTINCT n.kategorija) AS brojRaznovidniNastani6 SELECT d.imeLokacija AS destinacija, COUNT(DISTINCT n.naziv) AS broj_nastani 7 7 FROM DESTINACII d 8 8 JOIN NASTANI n ON d.idDest = n.idDest 9 9 GROUP BY d.imeLokacija 10 ORDER BY brojRaznovidniNastani DESC; 10 HAVING COUNT(DISTINCT n.naziv) = ( 11 SELECT MAX(broj_nastani) 12 FROM ( 13 SELECT COUNT(DISTINCT n.naziv) AS broj_nastani 14 FROM DESTINACII d 15 JOIN NASTANI n ON d.idDest = n.idDest 16 GROUP BY d.imeLokacija 17 ) AS temp 18 ); 11 19 }}} 12 20 … … 15 23 Дополнително, за да се прикажат различни категории на настани за одредена дестинација. За пример, доколку сакате да ги видите сите видови настани што се одржуваат во Охрид: 16 24 {{{ 17 SELECT DISTINCT n. kategorija25 SELECT DISTINCT n.naziv 18 26 FROM NASTANI n 19 27 JOIN DESTINACII d ON n.idDest = d.idDest … … 63 71 64 72 65 === Топ 10корисници со најголем број напишани рецензии66 Најактивни 10корисници т.е. оние кои имаат напишано најголем број на рецензии.73 === Топ корисници со најголем број напишани рецензии 74 Најактивни корисници т.е. оние кои имаат напишано најголем број на рецензии. 67 75 {{{ 68 SELECT k.ime, k.prezime, COUNT(r.idRecenzija) AS brojRecenzii 69 FROM KORISNICI k 70 JOIN RECENZII r ON k.idKorisnik = r.idKorisnik 71 GROUP BY k.idKorisnik, k.ime, k.prezime 72 ORDER BY brojRecenzii DESC 73 LIMIT 10; 76 SELECT idKorisnik, COUNT(*) AS broj_recenzii 77 FROM RECENZII 78 GROUP BY idKorisnik 79 HAVING COUNT(*) > (SELECT COUNT(*) * 0.9 FROM RECENZII); 74 80 }}} 75 81 … … 78 84 Пресметување на цената по ден за пакети, што помага да се дознае кој пакет има најдобра вредност според сумата. Во случај да има пакет од 20 евра за 1 ден или пакет од 50 евра за 1 недела, би можело да се прикаже која опција е најисплатлива. 79 85 {{{ 80 SELECT p.imePaket , p.cena, TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS vremeTraenjeDena,81 p.cena / TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS cenaPoDen86 SELECT p.imePaket AS paket, 87 p.cena / DATEDIFF(p.kraj, p.pochetok) AS cena_po_den 82 88 FROM PAKETI p 83 WHERE TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) > 0 84 ORDER BY cenaPoDen ASC 85 LIMIT 10; 89 WHERE p.cena / DATEDIFF(p.kraj, p.pochetok) = ( 90 SELECT MIN(p.cena / DATEDIFF(p.kraj, p.pochetok)) 91 FROM PAKETI p 92 ); 86 93 }}} 87 94