MySQL Data Analysis Project

Hashtag movie is a database with information on the performance of movies rented via streaming.

The database is in Portuguese.

With this data we will be able to understand

  • Customer preferences according to gender and location;
  • Movie popularity by release period and genre;
  • Films with above-average ratings

First step:
I opened my SQL WorkBench.
Then, I created a new database = New Schema
Hashtagmovie
I import the data from my file
I clicked on Hashtagmovie and I’ve seen the 5 tables created
I went down and clicked on Start Import

I clicked after selecting SELECT * FROM tables: rentals, actors, performances, clients, movies:

# ======= PART 1: =======#

# ======= CREATING GROUPINGS =======#

 

— CASE 1. I should start by doing an analysis to find out the average rental price of movies.

I used SELECT AVG(price_rental) FROM movies;

The average rental price of movies is 2,20 BRL

— CASE 2. Now that I know the average price for renting movies on hashtagmovie, I should go further in my analysis and find out what the average price is for each movie genre.

genero is genre (translating).

In the analysis below, for each genre, I have the average price and the number of movies rented.

Changing the table’s name –  AVG(preco_aluguel) to preco_medio and COUNT(*) to qtd_filmes:

preco_medio is medium_price, qtd_filmes is qtd_movies (translating)

It facilitates the comprehension of the column

Let’s round the numbers that are in float in preco_medio:

We only have 1 art film in the catalog, and the and drama has more quantities at a lower price.

Apparently, there is a demand for this type of film.

 

# ======= PART 2: =======#

# ======= FILTERS IN GROUPINGS =======#

— I should change the CASE 2 query and consider the following scenario:

 

— CASE 3: Making the same analysis, but considering only the movies with year_release = > ano_lancamento (translating) equal to 2011.

Using WHERE ano_lancamento = 2011

PART 3:

# ======= SUBQUERIES: USING A SELECT INSIDE ANOTHER SELECT =======#

 

— CASE 4.  I need to do a performance analysis of the rentals. To do this, a common analysis is to identify which rentals scored above average.

Translating:

nota = score

rental = alugueis

 

I’ll want to select the scores above 7.94 – the average

or to be more accurate and automatic:

Translating:

SELECT *

FROM alugueis (rentals)

WHERE score>= (SELECT AVG(score) FROM rentals);

Getting:

“My quantity of clients”: 20

You can check at the left edge of the table.

Keeping the result.

I’ll save my table in my database.

 

# ======= PART 4: =======#

# ======= Creating Views – CREATE VIEW =======#

 

— CREATE/DROP VIEW: Saving the result of a query in our database

 

— CASE 5. Create a view to store the result of the SELECT below.

View will be a table inside my database called result , which will store the SELECT below:

SELECT

           genero,

          ROUND(AVG(preco_aluguel), 2) AS media_preco,

          COUNT(*) AS qtd_filmes

FROM filmes

GROUP BY genero;

Finally,

to delete the View in my database

Confirming View result dropped

Doing a data analysis project to find out the most requested movie genre and the average ratings for each type of movie can be quite an interesting and revealing experience.

  1. Data Collection and Preparation: First, I needed to collect relevant data from the « Hashtag Movie » database. This included information about movie rentals, such as movie ID, genre, movie rating, among others. 

  2. Exploratory Data Analysis: I performed exploratory data analysis to better understand its characteristics. This included visualizing charts to show the distribution of rented movie genres and average ratings for each type of movie.

  3. Determining the Most Requested Genre: Using SQL queries, I grouped the data by movie genre and count the number of rentals for each genre. With this, I could determine which genre is most requested by customers.

  4. Calculating Average Ratings for Each Type of Movie: I could also calculate the average ratings for each type of movie by grouping the data by movie genre and calculating the average rating.

  5. Creating Views: To facilitate future analyses and simplify complex queries, I created views in the database like, creating a view that displays movie rental data with movie genre and average rating for each type of movie.

  6. Drop View: I deleted an existing view from the database using the DROP VIEW statement. This would be useful if I needed to recreate the view with different parameters or if it was no longer needed.

Vous allez aimer aussi:

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies para melhorar a sua experiência de navegação e recomendar conteúdo de seu interesse. Ao utilizar nossos sites, você concorda com tal monitoramento.
Criado por WP RGPD Pro