| 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 | |