Product Sales Analysis I LeetCode Solution

Last updated on October 5th, 2024 at 04:35 pm

This Leetcode problem Product Sales Analysis I LeetCode Solution is done in SQL.

List of all LeetCode Solution

Level of Question

Easy

Product Sales Analysis I LeetCode Solution

Product Sales Analysis I LeetCode Solution

Problem Statement

Column NameType
sale_idint
product_idint
yearint
quantityint
priceint
Table: Sales

(sale_id, year) is the primary key (combination of columns with unique values) of this table. product_id is a foreign key (reference column) to Product table.
Each row of this table shows a sale on the product product_id in a certain year. Note that the price is per unit.

Column NameType
product_idint
product_namevarchar
Table: Product

product_id is the primary key (column with unique values) of this table. Each row of this table indicates the product name of each product.

Write a solution to report the product_nameyear, and price for each sale_id in the Sales table.

Return the resulting table in any order.

The result format is in the following example.

Example 1:
Input:

sale_id product_id year quantity price
11002008105000
21002009125000
72002011159000
Sales table:
product_id product_name
100Nokia
200Apple
300Samsung
Product table:

Output:

product_nameyear price
Nokia20085000
Nokia20095000
Apple20119000

Explanation: From sale_id = 1, we can conclude that Nokia was sold for 5000 in the year 2008. From sale_id = 2, we can conclude that Nokia was sold for 5000 in the year 2009. From sale_id = 7, we can conclude that Apple was sold for 9000 in the year 2011.

1. Product Sales Analysis I LeetCode Solution MySQL

select 
  distinct P.product_name, 
  S.year, 
  S.price 
from 
  (
    select 
      distinct product_id, 
      year, 
      price 
    from 
      Sales
  ) S 
  inner join Product as P using (product_id);

2. Product Sales Analysis I LeetCode Solution Pandas

import pandas as pd
​
def sales_analysis(sales: pd.DataFrame, product: pd.DataFrame) -> pd.DataFrame:
    sales_and_product = sales.merge(
        product,
        on=["product_id"]
        )
    df = sales_and_product[['product_name', 'year', 'price']]

    return df
Scroll to Top