Changes between Version 52 and Version 53 of AdvancedReports


Ignore:
Timestamp:
12/24/22 22:18:45 (2 years ago)
Author:
181006
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v52 v53  
    5959        ) as q1
    6060        on u.id_user = q1.id_user_customer
    61   }}}
    62 }}}
    63 
    64 == Предложување на 10те најдобро рангирани настани на даден корисник, врз база на корисниците со кои стапил во интеракција во последните 2 месеци и корисници кои имаат оставено број на реплики поголем или еднаков од вкупниот просечен на број на реплики по сите корисници
    65 
    66 {{{#!div style="font-size: 90%"
    67   {{{#!sql
    68 select title from(
    69          select  m.title, sum(mv.stars_rated) as total
    70          from replies r
    71          join discussions d on r.discussion_id = d.discussion_id
    72          join replies r2 on r2.discussion_id  = d.discussion_id  and r2.user_id  != 1
    73          join users u  on u.user_id  = r2.user_id and
    74          
    75                         (
    76                                 select count(r3.reply_id)
    77                                 from replies r3
    78                                 group by u.user_id
    79                         ) >=
    80                         (
    81                                
    82                                 select count(*)::float / (select count(*)::float from users)
    83                                 from replies
    84                         )
    85                        
    86      join movie_rates mv on mv.user_id = u.user_id
    87      join movies m on m.movie_id  = mv.movie_id
    88      where  r.user_id = 1 and
    89      r.date between current_date - interval '2 months' and current_date
    90      group by m.title
    91      order by sum(mv.stars_rated) desc
    92      limit 15
    93  ) as tabela;
    94   }}}
    95 }}}
    96 
    97 == Настан со најмногу заинтересирани купувачи во последните 100 дена
    98 
    99 {{{#!div style="font-size: 90%"
    100   {{{#!sql
    101 select e2."name", e2."date", e2.city, e2.price, q4.max_broj_zainteresirani
    102 from (
    103 (
    104         select e.id_event, count(u.id_user) as broj_na_zainteresirani_kupuvaci
    105         from ticket t
    106         join events e on t.id_event = e.id_event
    107         join users u on t.id_user_customer = u.id_user
    108         join cart c on c.id_user_customer = t.id_user_customer
    109         where e."date" between current_date - interval '100 days' and current_date
    110         group by e.id_event
    111 ) q1
    112 
    113 join
    114 
    115 (
    116         select max(q2.broj_na_zainteresirani_kupuvaci) as max_broj_zainteresirani
    117         from
    118                 (
    119                 select e.id_event, count(u.id_user) as broj_na_zainteresirani_kupuvaci
    120                 from ticket t
    121                 join events e on t.id_event = e.id_event
    122                 join users u on t.id_user_customer = u.id_user
    123                 join cart c on c.id_user_customer = t.id_user_customer
    124                 where e."date" between current_date - interval '100 days' and current_date
    125                 group by e.id_event
    126 ) q2 ) q3
    127 on
    128         q1.broj_na_zainteresirani_kupuvaci = q3.max_broj_zainteresirani)
    129 as q4
    130 join events e2 on q4.id_event = e2.id_event
    131   }}}
    132 }}}
    133 
    134 == За секоја година, град со најголем број одржани настани
    135 
    136 {{{#!div style="font-size: 90%"
    137   {{{#!sql
    138 select q4."location", q4.max_broj_nastani
    139 from (
    140 (
    141         select extract (year from t.date) as godina,
    142                 count(distinct e.id_event) broj_nastani, t."location"
    143         from ticket t
    144         join events e on t.id_event = e.id_event
    145         group by godina, t."location"
    146 ) q1
    147 
    148 join
    149 
    150 (
    151         select max(q2.broj_nastani) as max_broj_nastani
    152         from
    153                 (
    154                 select extract (year from t.date) as godina,
    155                         count(distinct e.id_event) broj_nastani,
    156                         t."location"
    157                 from ticket t
    158                 join events e on t.id_event = e.id_event
    159                 group by godina, t."location"
    160 ) q2 ) q3
    161 on
    162         q1.broj_nastani = q3.max_broj_nastani)
    163 as q4
    164   }}}
    165 }}}
    166 
    167 OR
    168 
    169 {{{#!div style="font-size: 90%"
    170   {{{#!sql
    171 select q4.godina, q4.city, q4.max_broj_nastani
    172 from (
    173 (
    174         select extract (year from e."date") as godina,
    175                 count(distinct e.id_event) broj_nastani, e.city
    176         from events e
    177         group by godina, e.city
    178 ) q1
    179 
    180 join
    181 
    182 (
    183         select max(q2.broj_nastani) as max_broj_nastani
    184         from
    185                 (
    186                 select extract (year from e."date") as godina,
    187                         count(distinct e.id_event) broj_nastani, e.city
    188                 from events e
    189                 group by godina, e.city
    190 ) q2 ) q3
    191 on
    192         q1.broj_nastani = q3.max_broj_nastani)
    193 as q4
    194   }}}
    195 }}}
    196 
    197 == Артист со максимален број на одржани настани
    198 
    199 {{{#!div style="font-size: 90%"
    200   {{{#!sql
    201 select q4."name", q4.surname, q4.max_broj_nastani
    202 from (
    203 (
    204         select u."name", u.surname, count(e.id_event) as broj_nastani
    205         from artist a
    206         join users u on a.id_user = u.id_user
    207         join events e on a.id_user = e.id_user_artist
    208         group by u."name", u.surname) q1
    209        
    210 join
    211 
    212 (
    213         select max(q2.broj_nastani) as max_broj_nastani
    214         from
    215                 (
    216                 select u."name", u.surname, count(e.id_event) as broj_nastani
    217                 from artist a
    218                 join users u on a.id_user = u.id_user
    219                 join events e on a.id_user = e.id_user_artist
    220                 group by u."name", u.surname
    221 ) q2 ) q3
    222 on
    223         q1.broj_nastani = q3.max_broj_nastani)
    224 as q4
    22561  }}}
    22662}}}
     
    271107}}}
    272108
     109== Настан со најмногу заинтересирани купувачи во последните 100 дена
     110
     111{{{#!div style="font-size: 90%"
     112  {{{#!sql
     113select e2."name", e2."date", e2.city, e2.price, q4.max_broj_zainteresirani
     114from (
     115(
     116        select e.id_event, count(u.id_user) as broj_na_zainteresirani_kupuvaci
     117        from ticket t
     118        join events e on t.id_event = e.id_event
     119        join users u on t.id_user_customer = u.id_user
     120        join cart c on c.id_user_customer = t.id_user_customer
     121        where e."date" between current_date - interval '100 days' and current_date
     122        group by e.id_event
     123) q1
     124
     125join
     126
     127(
     128        select max(q2.broj_na_zainteresirani_kupuvaci) as max_broj_zainteresirani
     129        from
     130                (
     131                select e.id_event, count(u.id_user) as broj_na_zainteresirani_kupuvaci
     132                from ticket t
     133                join events e on t.id_event = e.id_event
     134                join users u on t.id_user_customer = u.id_user
     135                join cart c on c.id_user_customer = t.id_user_customer
     136                where e."date" between current_date - interval '100 days' and current_date
     137                group by e.id_event
     138) q2 ) q3
     139on
     140        q1.broj_na_zainteresirani_kupuvaci = q3.max_broj_zainteresirani)
     141as q4
     142join events e2 on q4.id_event = e2.id_event
     143  }}}
     144}}}
     145
     146== За секоја година, град со најголем број одржани настани
     147
     148{{{#!div style="font-size: 90%"
     149  {{{#!sql
     150select q4."location", q4.max_broj_nastani
     151from (
     152(
     153        select extract (year from t.date) as godina,
     154                count(distinct e.id_event) broj_nastani, t."location"
     155        from ticket t
     156        join events e on t.id_event = e.id_event
     157        group by godina, t."location"
     158) q1
     159
     160join
     161
     162(
     163        select max(q2.broj_nastani) as max_broj_nastani
     164        from
     165                (
     166                select extract (year from t.date) as godina,
     167                        count(distinct e.id_event) broj_nastani,
     168                        t."location"
     169                from ticket t
     170                join events e on t.id_event = e.id_event
     171                group by godina, t."location"
     172) q2 ) q3
     173on
     174        q1.broj_nastani = q3.max_broj_nastani)
     175as q4
     176  }}}
     177}}}
     178
     179OR
     180
     181{{{#!div style="font-size: 90%"
     182  {{{#!sql
     183select q4.godina, q4.city, q4.max_broj_nastani
     184from (
     185(
     186        select extract (year from e."date") as godina,
     187                count(distinct e.id_event) broj_nastani, e.city
     188        from events e
     189        group by godina, e.city
     190) q1
     191
     192join
     193
     194(
     195        select max(q2.broj_nastani) as max_broj_nastani
     196        from
     197                (
     198                select extract (year from e."date") as godina,
     199                        count(distinct e.id_event) broj_nastani, e.city
     200                from events e
     201                group by godina, e.city
     202) q2 ) q3
     203on
     204        q1.broj_nastani = q3.max_broj_nastani)
     205as q4
     206  }}}
     207}}}
     208
     209== Артист со максимален број на одржани настани
     210
     211{{{#!div style="font-size: 90%"
     212  {{{#!sql
     213select q4."name", q4.surname, q4.max_broj_nastani
     214from (
     215(
     216        select u."name", u.surname, count(e.id_event) as broj_nastani
     217        from artist a
     218        join users u on a.id_user = u.id_user
     219        join events e on a.id_user = e.id_user_artist
     220        group by u."name", u.surname) q1
     221       
     222join
     223
     224(
     225        select max(q2.broj_nastani) as max_broj_nastani
     226        from
     227                (
     228                select u."name", u.surname, count(e.id_event) as broj_nastani
     229                from artist a
     230                join users u on a.id_user = u.id_user
     231                join events e on a.id_user = e.id_user_artist
     232                group by u."name", u.surname
     233) q2 ) q3
     234on
     235        q1.broj_nastani = q3.max_broj_nastani)
     236as q4
     237  }}}
     238}}}
     239
    273240== Вкупно продадени карти за секој настан
    274241