#1069
Easy Database Product sales analysis ii
Database
82.6% acceptance
Mar 31, 2026
85
182
No description available.
Solution
Pandas
Time O(n)
Space O(1)
# Table: Sales
#
# +-------------+-------+
# | Column Name | Type |
# +-------------+-------+
# | sale_id | int |
# | product_id | int |
# | year | int |
# | quantity | int |
# | price | int |
# +-------------+-------+
# (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.
#
#
#
# Table: Product
#
# +--------------+---------+
# | Column Name | Type |
# +--------------+---------+
# | product_id | int |
# | product_name | varchar |
# +--------------+---------+
# 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 that reports the total quantity sold for every product id.
#
# Return the resulting table in any order.
#
# The result format is in the following example.
#
# Example 1:
# Input:
# Sales table:
# +---------+------------+------+----------+-------+
# | sale_id | product_id | year | quantity | price |
# +---------+------------+------+----------+-------+
# | 1 | 100 | 2008 | 10 | 5000 |
# | 2 | 100 | 2009 | 12 | 5000 |
# | 7 | 200 | 2011 | 15 | 9000 |
# +---------+------------+------+----------+-------+
# Product table:
# +------------+--------------+
# | product_id | product_name |
# +------------+--------------+
# | 100 | Nokia |
# | 200 | Apple |
# | 300 | Samsung |
# +------------+--------------+
# Output:
# +--------------+----------------+
# | product_id | total_quantity |
# +--------------+----------------+
# | 100 | 22 |
# | 200 | 15 |
# +--------------+----------------+
import pandas as pd
def sales_analysis(sales: pd.DataFrame, product: pd.DataFrame) -> pd.DataFrame:
return sales.groupby('product_id', as_index=False)['quantity'].sum().rename(columns={'quantity': 'total_quantity'})