
--1
--select count(*) broj_studenata
--from dosije;

--2
--select count(distinct indeks) broj_studenata
--from ispit
--where ocena=10;

--3
--select count(*) broj_predmeta, sum(p.bodovi) broj_bodova
--from ispit i join predmet p on i.id_predmeta=p.id_predmeta
--where ocena>5 and indeks=20140025;

--4
--select nullif(ocena, 5)
--from ispit;

--5
--select count(distinct nullif(ocena, 5)) 
--from ispit;

--6
--select sifra, naziv, bodovi
--from predmet
--where bodovi> (select avg(bodovi)
--                from predmet);

--7
--select id_predmeta, (select count(*) 
--                               from ispit i 
--                               where i.id_predmeta=p.id_predmeta and ocena>5) as polozilo
--from predmet p;

--8
--select d.indeks, avg(ocena+0.0) as prosek, min(ocena) as najmanja_ocena, max(ocena) as najveca_ocena
--from dosije d join ispit i on d.indeks=i.indeks
--where year(datum_rodjenja)=1995 and ocena>5
--group by d.indeks;


--9
--select godina_roka, naziv, max(ocena) as najveca_ocena
--from ispit i join predmet p on i.id_predmeta=p.id_predmeta
--group by godina_roka, naziv;



--10 
--select naziv
--from ispit i join predmet p on i.id_predmeta=p.id_predmeta
--group by p.id_predmeta, p.naziv
--having count(distinct indeks)>5;

--11
--select oznaka_roka, count(*) as broj_ispita, count(distinct indeks) broj_studenata
--from ispit
--where godina_roka=2015
--group by oznaka_roka
--having min(ocena)>5;

--ili

--select oznaka_roka, count(*) as broj_ispita, count(distinct indeks) broj_studenata
--from ispit
--group by godina_roka, oznaka_roka
--having godina_roka=2015 and min(ocena)>5;

--12 

--select naziv, count(*) br_ispita
--from predmet p  left  join ispit i on p.id_predmeta=i.id_predmeta
--group by  p.id_predmeta, naziv;

--select naziv, count(indeks) "Broj ispita"
--from ispit i join predmet p 
--	on i.id_predmeta=p.id_predmeta
--group by p.id_predmeta, naziv
--union
--select naziv, 0
--from predmet p
--where not exists ( select *
--                   from ispit i
--                   where p.id_predmeta=i.id_predmeta)
--order by 2 desc;


--13
--select indeks, monthname(datum_ispita) as mesec, count(*) as broj_predmeta
--from ispit
--where ocena>5
--group by indeks, monthname(datum_ispita)
--having count(*) > 2	
--order by indeks,  monthname(datum_ispita);

--obratiti pažnju da ne može

--select indeks, monthname(datum_ispita) as mesec, count(*) as broj_predmeta
--from ispit
--where ocena>5
--group by indeks, monthname(datum_ispita)
--having broj_predmeta > 2
--order by indeks,  monthname(datum_ispita);

--ali može

--select indeks, monthname(datum_ispita) as mesec, count(*) as broj_predmeta
--from ispit
--where ocena>5
--group by indeks, monthname(datum_ispita)
--having count(*) > 2
--order by indeks,  mesec;

--14

--select count(*) br_studenata
--from (
--select indeks, sum(p.bodovi) pol_bodovi
--from  ispit i join predmet p on i.id_predmeta=p.id_predmeta
--where ocena>5	
--group by indeks) as t
--where pol_bodovi>10;
--
--with student_bodovi as ( 
--select indeks, sum(p.bodovi) pol_bodovi
--from  ispit i join predmet p on i.id_predmeta=p.id_predmeta
--where ocena>5	
--group by indeks)
--select count(*) br_studenata
--from student_bodovi
--where pol_bodovi>10;







