5 | | SELECT d.imeLokacija, AVG(r.kvalitet) AS average_rating |
| 5 | SELECT d.imeLokacija, COUNT(DISTINCT n.kategorija) AS brojRaznovidniNastani |
| 6 | FROM DESTINACII d |
| 7 | JOIN NASTANI n ON d.idDest = n.idDest |
| 8 | GROUP BY d.imeLokacija |
| 9 | ORDER BY brojRaznovidniNastani DESC; |
| 10 | }}} |
| 11 | |
| 12 | |
| 13 | === Настани на одредена дестинација |
| 14 | Дополнително, за да се прикажат различни категории на настани за одредена дестинација: |
| 15 | {{{ |
| 16 | SELECT DISTINCT n.kategorija |
| 17 | FROM NASTANI n |
| 18 | JOIN DESTINACII d ON n.idDest = d.idDest |
| 19 | WHERE d.imeLokacija = 'Охрид'; |
| 20 | }}} |
| 21 | |
| 22 | |
| 23 | === Топ 10 дестинации според рецензии (атрибут kvalitet) |
| 24 | {{{ |
| 25 | SELECT d.imeLokacija, AVG(r.kvalitet) AS prosekKvalitet |
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; |
| 36 | SELECT 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 |
| 40 | FROM DESTINACII d |
| 41 | JOIN AKTIVNOSTI a ON d.idDest = a.idDest |
| 42 | GROUP BY d.imeLokacija |
| 43 | ORDER BY aktivnostiPod20 DESC, aktivnostiPod50 DESC, aktivnostiPod100 DESC; |
| 59 | |
| 60 | |
| 61 | === Топ 10 корисници со најголем број напишани рецензии |
| 62 | {{{ |
| 63 | SELECT k.ime, k.prezime, COUNT(r.idRecenzija) AS brojRecenzii |
| 64 | FROM KORISNICI k |
| 65 | JOIN RECENZII r ON k.idKorisnik = r.idKorisnik |
| 66 | GROUP BY k.idKorisnik, k.ime, k.prezime |
| 67 | ORDER BY brojRecenzii DESC |
| 68 | LIMIT 10; |
| 69 | }}} |
| 70 | |
| 71 | |
| 72 | === Најисплатливи пакети (Best value for money) |
| 73 | {{{ |
| 74 | SELECT p.imePaket, p.cena, TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS vremeTraenjeDena, |
| 75 | p.cena / TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS cenaPoDen |
| 76 | FROM PAKETI p |
| 77 | WHERE TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) > 0 |
| 78 | ORDER BY cenaPoDen ASC |
| 79 | LIMIT 10; |
| 80 | }}} |
| 81 | |
| 82 | |