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