
--1

--select distinct ir.naziv, 						
--coalesce(dayname(datpolaganja, 'sr_Latn_SR'), 'nepoznat datum') dan      
--from da.ispitnirok ir  join da.ispit i					
--		on ir.skgodina=i.skgodina and
--		  ir.oznakaroka=i.oznakaroka
--where ir.skgodina between 2000 and 2020
--        			
--union                                  
--                
--select ir.naziv, 'nije bilo ispita'				
--from da.ispitnirok ir
--where ir.skgodina between 2000 and 2020			
--and not exists (select *							
--                 from da.ispit i
--                 where ir.skgodina=i.skgodina and
--		  ir.oznakaroka=i.oznakaroka)
--order by naziv;

--2
--select count(*) broj_studenata
--from da.dosije;


--3
--select count(distinct indeks) broj_studenata
--from da.ispit
--where ocena=10;

--4
--select count(*) broj_predmeta, sum(p.espb) broj_bodova
--from da.ispit i join da.predmet p on i.idpredmeta=p.id
--where i.ocena>5 and i.status='o' and i.indeks=20160025;

--5
--select nullif(ocena, 5)
--from da.ispit;

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

--7
--select oznaka, naziv, espb
--from da.predmet
--where espb> (select avg(espb)
--                from da.predmet);

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

--9
--select skgodina, naziv,max(ocena) as najveca_ocena
--from da.ispit i join da.predmet p on i.idpredmeta=p.id
--group by skgodina, naziv, id;

--10
--select p.id, count(indeks) as polozilo
--from da.predmet p left outer join da.ispit i 
--       on p.id=i.idpredmeta and ocena>5 and status='o'
--group by p.id
--order by polozilo;
--
-- ili
--
--select id, (select count(*) 
--            from da.ispit i 
--            where i.idpredmeta=p.id and ocena>5
--                   and status='o') as polozilo
--from da.predmet p
--order by polozilo ;

-- ili

--select idpredmeta, count(indeks) as polozilo
--from da.ispit 
--where ocena>5 and status='o'
--group by idpredmeta
--union
--select id, 0
--from da.predmet p
--where not exists ( select *
--                   from da.ispit i
--                   where p.id=i.idpredmeta and ocena>5
--                   and status='o')
--order by 2;



--11
--select idpredmeta, count(distinct indeks) broj_studenata
--from da.ispit
--group by idpredmeta
--having count(distinct indeks)>50
--order by broj_studenata;
--
--select idpredmeta
--from da.ispit
--group by idpredmeta
--having count(distinct indeks)>50;


--12
--select oznakaroka, 
--     count(*) as broj_ispita, count(distinct indeks) broj_studenata
--from da.ispit
--where skgodina=2016 and status='o' 
--group by oznakaroka
--having min(ocena)>5;

--ili

--select oznakaroka, 
--       count(*) as broj_ispita, 
--       count(distinct indeks) broj_studenata
--from da.ispit
--where status='o'
--group by skgodina, oznakaroka
--having skgodina=2016 and min(ocena)>5;

--13
--select indeks, monthname(datpolaganja) as mesec, count(*) as broj_predmeta
--from da.ispit
--where ocena>5 and status='o'
--group by indeks, monthname(datpolaganja)
--having count(*) > 2	
--order by indeks,  monthname(datpolaganja);

--obratiti pažnju da ne može

--select indeks, monthname(datpolaganja) as mesec, count(*) as broj_predmeta
--from da.ispit
--where ocena>5 and status='o'
--group by indeks, monthname(datpolaganja)
--having broj_predmeta > 2
--order by indeks,  monthname(datpolaganja);

--ali može

--select indeks, monthname(datpolaganja) as mesec, count(*) as broj_predmeta
--from da.ispit
--where ocena>5 and status='o'
--group by indeks, monthname(datpolaganja)
--having count(*) > 2
--order by indeks,  mesec;

--14
--select naziv,  coalesce(ime || ' ' || prezime, 'nema')
--from da.predmet p left join da.ispit i on id=idpredmeta
--        and ocena>5 and status='o'
--     left join da.dosije d 
--       on d.indeks=i.indeks 
--where espb = (select min(espb)
--              from da.predmet);
