-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueries.txt
More file actions
69 lines (63 loc) · 2.81 KB
/
queries.txt
File metadata and controls
69 lines (63 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*Querie 1 - query used for first insight*/
WITH t1 AS (SELECT f.title AS film_title, cat.name AS category_name, r.rental_id AS rental
FROM category cat
JOIN film_category f_cat
ON f_cat.category_id = cat.category_id
JOIN film f
ON f_cat.film_id = f.film_id
JOIN inventory i
ON i.film_id = f.film_id
JOIN rental r
ON i.inventory_id = r.inventory_id
WHERE cat.name IN ('Animation', 'Children', 'Classics', 'Comedy', 'Family', 'Music'))
SELECT DISTINCT film_title, category_name,
COUNT(*) OVER (PARTITION BY film_title) AS rental_count
FROM t1
ORDER BY 2, 1;
/*Querie 2 - query used for second insight*/
WITH t1 AS (SELECT f.title AS film_title, cat.name AS category_name, f.rental_duration AS rental_duration
FROM category cat
JOIN film_category f_cat
ON f_cat.category_id = cat.category_id
JOIN film f
ON f_cat.film_id = f.film_id
WHERE cat.name IN ('Animation', 'Children', 'Classics', 'Comedy', 'Family', 'Music'))
SELECT film_title, category_name, rental_duration,
NTILE(4) OVER (ORDER BY rental_duration) AS standard_quartile
FROM t1
ORDER BY 3;
/*Querie 3 - query used for third insight*/
WITH t1 AS (SELECT DISTINCT cat.name AS category_name,
NTILE(4) OVER (ORDER BY rental_duration) AS standard_quartile,
f.film_id AS film_id
FROM category cat
JOIN film_category f_cat
ON f_cat.category_id = cat.category_id
JOIN film f
ON f_cat.film_id = f.film_id
WHERE cat.name IN ('Animation', 'Children', 'Classics', 'Comedy', 'Family', 'Music'))
SELECT category_name, standard_quartile,
COUNT(*) AS count
FROM t1
GROUP BY 1, 2
ORDER BY 1, 2;
/*Querie 4 - query used for fourth insight*/
SELECT rental_month, rental_year, store_id,
COUNT(*) AS count_rental
FROM (SELECT DATE_PART('month', r.rental_date) AS rental_month, DATE_PART('year', r.rental_date) AS rental_year,
sto.store_id AS store_id, rental_id
FROM category cat
JOIN film_category f_cat
ON f_cat.category_id = cat.category_id
JOIN film f
ON f_cat.film_id = f.film_id
JOIN inventory i
ON i.film_id = f.film_id
JOIN rental r
ON i.inventory_id = r.inventory_id
JOIN staff sta
ON r.staff_id = sta.staff_id
JOIN store sto
ON sta.store_id = sto.store_id) AS t1
GROUP BY 1, 2, 3
ORDER BY 4 DESC;