| 2 | == Листа на предмети каде за секој предмет е прикажан најпопуларниот наставник (наставник со најголем број на ученици на кои им предава) == |
| 3 | {{{#!sql |
| 4 | select p.ime as predmet, n.ime as ime_nastavnik, n.prezime as prezime_nastavnik, q3.ucenici as broj_ucenici |
| 5 | |
| 6 | from ( |
| 7 | |
| 8 | select * from ( |
| 9 | |
| 10 | select broj_ucenici.predmet as predmet, max(broj_ucenici.ucenici) as ucenici |
| 11 | from |
| 12 | ( |
| 13 | select p.id_predmet as predmet, n.id_nastavnik ,count(u.id_ucenik) as ucenici |
| 14 | from predmeti p |
| 15 | join predava_predmet pp on p.id_predmet = pp.id_predmet |
| 16 | join nastavnici n on pp.id_nastavnik = n.id_nastavnik |
| 17 | join predava_na pn on n.id_nastavnik = pn.id_nastavnik |
| 18 | join ucenici u on u.id_ucenik =pn.id_ucenik |
| 19 | group by p.id_predmet, n.id_nastavnik |
| 20 | ) |
| 21 | as broj_ucenici |
| 22 | group by broj_ucenici.predmet |
| 23 | ) as q1 |
| 24 | |
| 25 | join ( |
| 26 | select p.id_predmet as predmet2 ,n.id_nastavnik ,count(u.id_ucenik) as ucenici2 |
| 27 | from predmeti p |
| 28 | join predava_predmet pp on p.id_predmet = pp.id_predmet |
| 29 | join nastavnici n on pp.id_nastavnik = n.id_nastavnik |
| 30 | join predava_na pn on n.id_nastavnik = pn.id_nastavnik |
| 31 | join ucenici u on u.id_ucenik =pn.id_ucenik |
| 32 | group by p.id_predmet , n.id_nastavnik |
| 33 | ) as q2 |
| 34 | on q2.predmet2 = q1.predmet and q2.ucenici2 = q1.ucenici |
| 35 | |
| 36 | ) as q3 |
| 37 | join nastavnici n on n.id_nastavnik = q3.id_nastavnik |
| 38 | join predmeti p on p.id_predmet = q3.predmet |
| 39 | }}} |