wiki:AdvancedReports

Version 4 (modified by 191273, 3 years ago) ( diff )

--

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

Најпопуларни локации за артисти (по опаѓачки редослед)

select 
        e.country,
        count(e.country) as num_of_events 
from events e 
group by e.country 
order by num_of_events desc 

Најпопуларни жанрови според број на артисти кои ги пеат (по опаѓачки редослед)

select 
        asg.genre_id,
        count(asg.genre_id) as popularity
from artist_sings_genres asg
group by asg.genre_id
order by popularity desc 

Да се најде направениот промет за артист во изминатата година

select 
        SUM(t.stripe_price) from transactions t
        inner join offers o on
                o.artist_id  = 6
                and 
                t.offer_id = o.id 
        where extract (year from t.created_at) = extract (year from now() - interval '1 year');

Да се најдат каков тип на Артисти ангажирал Организаторот во последните 6 месеци

select distinct at2.name from 
        (
                select o2.artist_id from users u
                join organizers o on
                        o.user_id = u.id 
                join events e on
                        e.organizer_id = o.user_id
                join offers o2 on
                        o2.event_id = e.id
                where e.organizer_id = 11
                        and o2.completed_at notnull and o2.status = 2
        )
as artists
join artists a on
        artists.artist_id = a.user_id
join artist_types at2 on 
        at2.id = a.artist_type_id;

Да се најде просечно време кое било потрошено од страна на Организаторите и Артистите за да склучат договор (да платат).

select avg(extract(day from o.completed_at-o.created_at)) from offers o 
where completed_at notnull 

Процент на успешно прифатени/реализирани понуди (во проценти).

select ((select count(*) from offers o where completed_at notnull)/(select count(*) from offers o2)::float)*100;

Најпопуларни типови на настани

select et.name, count(*) as occurence from events e 
join event_types et on 
        et.id = e.event_type_id 
group by et.name
order by occurence desc;
Note: See TracWiki for help on using the wiki.