Changes between Version 1 and Version 2 of AdvancedReports


Ignore:
Timestamp:
12/26/22 00:25:43 (21 months ago)
Author:
201050
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v1 v2  
    2828}}}
    2929
    30 == 2.
     30== 2. Извештај за првите три прашања со најмногу одговори од студенти и професори посебно, потоа од тие прашања ја пресметуваме вкупната сума на реакции на одговорите(заедно од професори и студенти) и ги филтритаме само оние кои имаат просечен или надпросечен број на реакции
     31{{{
     32create view broj_reakcii_na_izbrani_odgovori as (
     33select sum(q4.br_reakcii) as br_reakcii_total,  q4.o_id, q4.pra_id  from (
     34select count(dr.reakcija) as br_reakcii, o.o_id , o.pra_id  from (
     35select *  from (
     36select p.pra_id as prasanje from prasanja p
     37join odgovori o on o.pra_id =p .pra_id
     38where o.s_id is not null
     39group by p.pra_id
     40order by count(o.o_id) desc
     41limit 3 ) as q1
     42union
     43select q2.prasanje  from (
     44select p.pra_id as prasanje from prasanja p
     45join odgovori o on o.pra_id =p .pra_id
     46where o.p_id is not null
     47group by p.pra_id
     48order by count(o.o_id) desc
     49limit 3 ) as q2
     50) as q3
     51join prasanja p2 on q3.prasanje = p2.pra_id
     52join odgovori o on o.pra_id =p2.pra_id
     53join dava_reakcija dr on o.o_id = dr.o_id
     54group by o.o_id, o.pra_id
     55union
     56select count(rn.reakcija) as br_reakcii, o.o_id , o.pra_id  from (
     57select *  from (
     58select p.pra_id as prasanje from prasanja p
     59join odgovori o on o.pra_id =p .pra_id
     60where o.s_id is not null
     61group by p.pra_id
     62order by count(o.o_id) desc
     63limit 3 ) as q1
     64union
     65select q2.prasanje  from (
     66select p.pra_id as prasanje from prasanja p
     67join odgovori o on o.pra_id =p .pra_id
     68where o.p_id is not null
     69group by p.pra_id
     70order by count(o.o_id) desc
     71limit 3 ) as q2
     72) as q3
     73join prasanja p2 on q3.prasanje = p2.pra_id
     74join odgovori o on o.pra_id =p2.pra_id
     75join reagira_na rn on o.o_id = rn.o_id
     76group by o.o_id, o.pra_id
     77) as q4
     78group by q4.o_id , q4.pra_id
     79);
     80
     81
     82create view broj_reakcii_na_odgovor as (
     83select sum(q4.br_reakcii) as br_reakcii_total,  q4.o_id, q4.pra_id  from (
     84select count(dr.reakcija) as br_reakcii, o.o_id , o.pra_id  from (
     85select q1.prasanje  from (
     86select p.pra_id as prasanje from prasanja p
     87join odgovori o on o.pra_id =p .pra_id
     88group by p.pra_id
     89 ) as q1
     90union
     91select q2.prasanje  from (
     92select p.pra_id as prasanje from prasanja p
     93join odgovori o on o.pra_id =p .pra_id
     94group by p.pra_id
     95        ) as q2
     96) as q3
     97join prasanja p2 on q3.prasanje = p2.pra_id
     98join odgovori o on o.pra_id =p2.pra_id
     99join dava_reakcija dr on o.o_id = dr.o_id
     100group by o.o_id, o.pra_id
     101union
     102select count(rn.reakcija) as br_reakcii, o.o_id , o.pra_id  from (
     103select q1.prasanje  from (
     104select p.pra_id as prasanje from prasanja p
     105join odgovori o on o.pra_id =p .pra_id
     106group by p.pra_id
     107) as q1
     108union
     109select q2.prasanje  from (
     110select p.pra_id as prasanje from prasanja p
     111join odgovori o on o.pra_id =p .pra_id
     112group by p.pra_id
     113) as q2
     114) as q3
     115join prasanja p2 on q3.prasanje = p2.pra_id
     116join odgovori o on o.pra_id =p2.pra_id
     117join reagira_na rn on o.o_id = rn.o_id
     118group by o.o_id, o.pra_id
     119) as q4
     120group by q4.o_id , q4.pra_id
     121);
     122
     123select brnio.br_reakcii_total, p.* from broj_reakcii_na_izbrani_odgovori brnio
     124join prasanja p on brnio.pra_id  = p.pra_id
     125where brnio.br_reakcii_total >= (select avg(brno.br_reakcii_total) from broj_reakcii_na_odgovor brno)
     126}}}
    31127
    32128== 3.Извештај за пронаоѓање на најдобрите професори т.е. професорите кои имаат одговори со најдобри рејтингзи, имаат поставено најмногу материјали и предаваат најмногу курсеви.\\