wiki:AdvancedReports

Version 9 (modified by 193060, 2 years ago) ( diff )

--

Напредни извештаи од базата (SQL и складирани процедури)

Прикажување на најбараната категорија од страна на членовите во последните три недели

select kat.ime_kategorija,count(kat.ime_kategorija) as pozajmeni_knigi_od_kategorija
from pozajmica as p

join knigi as k on p.id_na_kniga = k.id_na_kniga
join e_od as e on k.id_na_kniga = e.id_knigi
join kategorija as kat on e.id_na_kategorija = kat.id_na_kategorija

where p.datum_na_zemanje between now() - interval'3 weeks' and now() 
group by 1
order by pozajmeni_knigi_od_kategorija desc 
fetch first row only;

Прикажување на членот што има прочитано највеќе книги во последниот месец

select ch.ime,ch.prezime,(count(ch.id_chovek)) as pozajmuvanja
from pozajmica as p

join chlen as chl on p.id_chovek_prave = chl.id_chovek
join chovek as ch on chl.id_chovek = ch.id_chovek
join knigi as k on p.id_na_kniga = k.id_na_kniga
where p.datum_na_zemanje between now() - interval'1 month' and now()

group by 1,2
order by pozajmuvanja desc
fetch first row only;

Прикажување колку позајмици има направено одредена возрасна група корисници во одреден временски интервал

select count(p.id_na_pozajmica) as pozajmici
from pozajmica as p

join chlen as chl on p.id_chovek_prave = chl.id_chovek
join chovek as ch on chl.id_chovek = ch.id_chovek
join knigi as k on p.id_na_kniga = k.id_na_kniga

where age(((case when substr(embg,5,1) = '9' then '1' || substr(embg,5,3)
else '2' || substr(embg,5,3) end) || '-' || substr(embg,3,2) || '-' || substr(embg,1,2))::date) between interval '20 years' and interval '22 years'
and p.datum_na_zemanje between now() - interval'3 weeks' and now()

Прикажување на најдобро оценетата книга

select k.naslov, avg(ocena) as prosecna_ocena from ocena as o

join knigi as k on o.ocena_id_kniga = k.id_na_kniga
join pozajmica as p on k.id_na_kniga = p.id_na_kniga

group by 1
order by prosecna_ocena desc
fetch first row only;
Note: See TracWiki for help on using the wiki.