1 | /*destinacii so najmn raznovidni nastani*/
|
---|
2 | /*SELECT d.imeLokacija, COUNT(DISTINCT n.kategorija) AS brojRaznovidniNastani
|
---|
3 | FROM DESTINACII d
|
---|
4 | JOIN NASTANI n ON d.idDest = n.idDest
|
---|
5 | GROUP BY d.imeLokacija
|
---|
6 | ORDER BY brojRaznovidniNastani DESC;*/
|
---|
7 | SELECT d.imeLokacija AS destinacija, COUNT(DISTINCT n.naziv) AS broj_nastani
|
---|
8 | FROM DESTINACII d
|
---|
9 | JOIN NASTANI n ON d.idDest = n.idDest
|
---|
10 | GROUP BY d.imeLokacija
|
---|
11 | HAVING COUNT(DISTINCT n.naziv) = (
|
---|
12 | SELECT MAX(broj_nastani)
|
---|
13 | FROM (
|
---|
14 | SELECT COUNT(DISTINCT n.naziv) AS broj_nastani
|
---|
15 | FROM DESTINACII d
|
---|
16 | JOIN NASTANI n ON d.idDest = n.idDest
|
---|
17 | GROUP BY d.imeLokacija
|
---|
18 | ) AS temp
|
---|
19 | );
|
---|
20 |
|
---|
21 |
|
---|
22 | /*nastani na odredena dest*/
|
---|
23 | SELECT DISTINCT n.naziv
|
---|
24 | FROM NASTANI n
|
---|
25 | JOIN DESTINACII d ON n.idDest = d.idDest
|
---|
26 | WHERE d.imeLokacija = 'Охрид';
|
---|
27 |
|
---|
28 |
|
---|
29 | /*top 10 dest spored recenzija*/
|
---|
30 | /*SELECT d.imeLokacija, AVG(r.kvalitet) AS prosekKvalitet
|
---|
31 | FROM DESTINACII d
|
---|
32 | JOIN RECENZII r ON d.idDest = r.idDest
|
---|
33 | GROUP BY d.imeLokacija
|
---|
34 | ORDER BY prosekKvalitet DESC
|
---|
35 | LIMIT 10;*/
|
---|
36 | SELECT idKorisnik, COUNT(*) AS broj_recenzii
|
---|
37 | FROM RECENZII
|
---|
38 | GROUP BY idKorisnik
|
---|
39 | HAVING COUNT(*) > (SELECT COUNT(*) * 0.9 FROM RECENZII);
|
---|
40 |
|
---|
41 |
|
---|
42 | /*dest so najgolem br aktivnosti so razlichni cena/opsezi*/
|
---|
43 | SELECT d.imeLokacija,
|
---|
44 | SUM(CASE WHEN a.iznos < 20 THEN 1 ELSE 0 END) AS aktivnostiPod20,
|
---|
45 | SUM(CASE WHEN a.iznos < 50 THEN 1 ELSE 0 END) AS aktivnostiPod50,
|
---|
46 | SUM(CASE WHEN a.iznos < 100 THEN 1 ELSE 0 END) AS aktivnostiPod100
|
---|
47 | FROM DESTINACII d
|
---|
48 | JOIN AKTIVNOSTI a ON d.idDest = a.idDest
|
---|
49 | GROUP BY d.imeLokacija
|
---|
50 | ORDER BY aktivnostiPod20 DESC, aktivnostiPod50 DESC, aktivnostiPod100 DESC;
|
---|
51 |
|
---|
52 | /*dest so najevtini aktivnosti*/
|
---|
53 | SELECT d.imeLokacija,
|
---|
54 | COUNT(a.idAktivnost) AS vkupnoAktivnosti,
|
---|
55 | SUM(CASE WHEN a.iznos < 20 THEN 1 ELSE 0 END) AS efiniAktivnosti,
|
---|
56 | (SUM(CASE WHEN a.iznos < 20 THEN 1 ELSE 0 END) * 100.0 / COUNT(a.idAktivnost)) AS procentEfiniAktivnosti
|
---|
57 | FROM DESTINACII d
|
---|
58 | JOIN AKTIVNOSTI a ON d.idDest = a.idDest
|
---|
59 | GROUP BY d.imeLokacija
|
---|
60 | HAVING COUNT(a.idAktivnost) > 0
|
---|
61 | ORDER BY procentEfiniAktivnosti DESC;
|
---|
62 |
|
---|
63 |
|
---|
64 | /*top 10 korisnici so najmn recenzii*/
|
---|
65 | /*SELECT k.ime, k.prezime, COUNT(r.idRecenzija) AS brojRecenzii
|
---|
66 | FROM KORISNICI k
|
---|
67 | JOIN RECENZII r ON k.idKorisnik = r.idKorisnik
|
---|
68 | GROUP BY k.idKorisnik, k.ime, k.prezime
|
---|
69 | ORDER BY brojRecenzii DESC
|
---|
70 | LIMIT 10;*/
|
---|
71 | SELECT idKorisnik, COUNT(*) AS broj_recenzii
|
---|
72 | FROM RECENZII
|
---|
73 | GROUP BY idKorisnik
|
---|
74 | HAVING COUNT(*) > (SELECT COUNT(*) * 0.9 FROM RECENZII);
|
---|
75 |
|
---|
76 | /*value for money*/
|
---|
77 | /*SELECT p.imePaket, p.cena, TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS vremeTraenjeDena,
|
---|
78 | p.cena / TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) AS cenaPoDen
|
---|
79 | FROM PAKETI p
|
---|
80 | WHERE TIMESTAMPDIFF(DAY, p.pochetok, p.kraj) > 0
|
---|
81 | ORDER BY cenaPoDen ASC
|
---|
82 | LIMIT 10;*/
|
---|
83 | SELECT p.imePaket AS paket,
|
---|
84 | p.cena / DATEDIFF(p.kraj, p.pochetok) AS cena_po_den
|
---|
85 | FROM PAKETI p
|
---|
86 | WHERE p.cena / DATEDIFF(p.kraj, p.pochetok) = (
|
---|
87 | SELECT MIN(p.cena / DATEDIFF(p.kraj, p.pochetok))
|
---|
88 | FROM PAKETI p
|
---|
89 | );
|
---|
90 |
|
---|