Changes between Initial Version and Version 1 of Напредни извештаи од базата (SQL и складирани процедури)Assignment


Ignore:
Timestamp:
01/31/24 23:53:26 (5 months ago)
Author:
193158
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Напредни извештаи од базата (SQL и складирани процедури)Assignment

    v1 v1  
     1= Напредни извештаи од базата (SQL и складирани процедури) =
     2
     3=== Извештај кој прикажува кои продукти дадена индустрија имаат најголема разлика во просечната оценка на рецензија споредено помеѓу последните 30 дена и пред тој датум, сортирано по големина===
     4
     5{{{#!sql
     6SELECT
     7  last_month_avg_scores.productdomainname AS productdomainname,
     8  all_previous_month_avg_scores.months_avg_score - last_month_avg_scores.months_avg_score AS avg_score_difference
     9FROM
     10  (
     11    SELECT
     12      pdi.productdomainname,
     13      AVG(r.reviewscore) AS months_avg_score
     14    FROM
     15      reviews AS r
     16    JOIN
     17      productdomainindustry AS pdi ON r.productdomainname = pdi.productdomainname
     18    WHERE
     19      pdi.industry = 'Specific Industry'
     20      AND dateofreview > now() - interval '30 days'
     21    GROUP BY
     22      pdi.productdomainname
     23  ) AS last_month_avg_scores
     24JOIN
     25  (
     26    SELECT
     27      pdi.productdomainname,
     28      AVG(r.reviewscore) AS months_avg_score
     29    FROM
     30      reviews AS r
     31    JOIN
     32      productdomainindustry AS pdi ON r.productdomainname = pdi.productdomainname
     33    WHERE
     34      pdi.industry = 'Specific Industry'
     35      AND dateofreview <= now() - interval '30 days'
     36    GROUP BY
     37      pdi.productdomainname
     38  ) AS all_previous_month_avg_scores ON last_month_avg_scores.productdomainname = all_previous_month_avg_scores.productdomainname
     39ORDER BY
     40  avg_score_difference DESC;
     41}}}
     42
     43
     44=== Извештај кој за продуктите со мнозинство негативни рецензии, се прикажуваат рецезентите кои се на c-level позиција и кои имаат linkedin профил, заедно со пораките која им sе пратени ===
     45
     46{{{#!sql
     47select
     48    p.domainname,
     49    negativereviews,
     50    influentialreviewer.firstname,
     51    influentialreviewer.lastname,
     52    influentialreviewer.emailaddress,
     53    influentialreviewer.linkedinprofile,
     54    ms.messagetext
     55from
     56    (select
     57         r.productdomainname,
     58         count(r.id) as negativereviews
     59     from
     60         review r
     61     where
     62         r.reviewscore = 1
     63     or
     64         r.sentiment = 'negative'
     65     group by
     66         r.productdomainname
     67     having
     68         count(r.id) > (select count(*) / 2 from review where productdomainname = r.productdomainname)
     69    ) as subquery1
     70
     71join
     72    (select
     73         rev.firstname,
     74         rev.lastname,
     75         rev.emailaddress,
     76         sm.socialmedialink as linkedinprofile,
     77         r.productdomainname
     78     from
     79         reviewer rev
     80     join
     81         socialmediaaccounts sm on rev.id = sm.reviewerid
     82     join
     83         review r on rev.id = r.reviewerid
     84     where
     85         sm.socialmediatype = 'linkedin'
     86     and
     87        rev.position in ('CEO','CFO','COO','CTO','CIO','CMO','CCO','CRO','CHRO','CPO','CSO','CLO','CAO','CDO','CISO','CVO','CKO','CBO','CPEO','CCIO')
     88    ) as influentialreviewer on subquery1.productdomainname = influentialreviewer.productdomainname
     89left join
     90    messagesequence ms on influentialreviewer.id = ms.recieverId
     91join
     92    industry i on p.productdomainname = i.productdomainname
     93where
     94    i.industryname = 'specific industry';
     95}}}
     96