Changes between Version 1 and Version 2 of AdvancedReports


Ignore:
Timestamp:
01/29/24 14:50:00 (5 months ago)
Author:
211012
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v1 v2  
    8888from rezultati_partii
    8989}}}
     90
     91== Податоци за излезноста на граѓани по избирачко место по даден интервал X од час Y до час Z, за дадена реализација Q
     92
     93{{{#!sql
     94with broj_glasaci_po_mesto as (
     95    select im.im_id, count(distinct g.g_id) broj_glasaci
     96    from izbiracki_mesta im
     97    join adresi a on im.im_id = a.im_id
     98    join gragjani g on a.a_id = g.a_id
     99    group by im.im_id
     100)
     101
     102select interval_cas, im.im_id, im.im_mesto,
     103       coalesce((select broj_glasaci from broj_glasaci_po_mesto where im_id = im.im_id), 0) vkupno_registrirani,
     104       count(distinct gl.ug_id) vkupno_izlezeni,
     105       coalesce(count(distinct gl.ug_id) * 100.0 / (select broj_glasaci from broj_glasaci_po_mesto where im_id = im.im_id), 0) procentualna_izleznost
     106from generate_series(Y, Z, X) interval_cas
     107cross join izbiracki_mesta im
     108left join glasanja gl on im.im_id = gl.im_id and gl.ri_id = Q and extract(hour from ug_vreme) = interval_cas
     109left join glasovi_za_kandidat gzk on gl.ug_id = gzk.ug_id
     110group by im.im_id, im.im_mesto, interval_cas
     111order by im.im_id, im.im_mesto asc
     112}}}
     113
     114
     115=== Детални податоци за излезноста на граѓани по избирачко место за реализација на избори со кандидати / кандидатска листа
     116{{{#!sql
     117select im.im_id, im.im_mesto,
     118       count(distinct gl.ug_id) vkupno_izlezeni,
     119       count(distinct gzk.ug_id) vazecki_glasovi,
     120       count(distinct gl.ug_id) - count(distinct gzk.ug_id) nevazceki_glasovi
     121from izbiracki_mesta im
     122left join glasanja gl on im.im_id = gl.im_id and gl.ri_id = 1
     123left join glasovi_za_kandidat gzk on gl.ug_id = gzk.ug_id
     124group by im.im_id, im.im_mesto
     125}}}
     126// //
     127{{{#!sql
     128select im.im_id, im.im_mesto,
     129       count(distinct gl.ug_id) vkupno_izlezeni,
     130       count(distinct gzk.ug_id) vazecki_glasovi,
     131       count(distinct gl.ug_id) - count(distinct gzk.ug_id) nevazceki_glasovi
     132from izbiracki_mesta im
     133left join glasanja gl on im.im_id = gl.im_id and gl.ri_id = 1
     134left join glasovi_za_lista gzk on gl.ug_id = gzk.ug_id
     135group by im.im_id, im.im_mesto
     136}}}
     137
     138=== Листање на членовите на комисиите во избирачките места за реализација на избори X каде бројот на приговори е поголем од Y
     139
     140{{{#!sql
     141with izleznost_count as (select im.im_id,
     142                                im.im_mesto     izbiracko_mesto,
     143                                count(pr.pr_id) broj_prigovori
     144                         from izbiracki_mesta im
     145                         left join prigovori pr on im.im_id = pr.im_id
     146                         where pr.ri_id = X
     147                         group by im.im_id, im.im_mesto)
     148select g.g_ime,
     149       g.g_prezime,
     150       k.kom_id,
     151       scn.kom_id,
     152       k.ri_id,
     153       im.im_mesto,
     154       (select broj_prigovori from izleznost_count where im_id = im.im_id) broj_progovori
     155from clenovi_na_komisija ck
     156         join se_clenovi_na scn on scn.g_id = ck.g_id
     157         join komisii k on scn.kom_id = k.kom_id and k.ri_id = X
     158         join izbiracki_mesta im on k.im_id = im.im_id
     159         join gragjani g on ck.g_id = g.g_id
     160where (select broj_prigovori from izleznost_count where im_id = im.im_id) > Y
     161order by broj_progovori desc, im.im_mesto asc;
     162}}}