Product Sales Analysis V — LeetCode 2329 Python Solution

EasyLeetCode PremiumDatabase
Problem
#2329
Reading time
3 min

Table schema

SQL
Table: Sales +-------------+-------+ | Column Name | Type | +-------------+-------+ | sale_id | int | | product_id | int | | user_id | int | | quantity | int | +-------------+-------+ sale_id contains unique values. product_id is a foreign key (column with unique values) to Product table.

Example

SQL
+-------------+-------+
| Column Name | Type  |
+-------------+-------+
| sale_id     | int   |
| product_id  | int   |
| user_id     | int   |
| quantity    | int   |
+-------------+-------+
sale_id contains unique values.
product_id is a foreign key (column with unique values) to Product table.
Each row of this table shows the ID of the product and the quantity purchased by a user.

Python solution

Python
import duckdb
import pandas as pd

def solution(sales: pd.DataFrame, product: pd.DataFrame) -> pd.DataFrame:
    con = duckdb.connect()
    con.register("Sales", sales)
    con.register("Product", product)
    return con.execute("""SELECT user_id, SUM(quantity * price) AS spending
FROM
    Sales
    JOIN Product USING (product_id)
GROUP BY 1
ORDER BY 2 DESC, 1;""").df()

Complexity

MeasureComplexity
TimeO(n log n) (typical)
SpaceO(n) auxiliary

Related problems

Frequently asked questions

How hard is LeetCode 2329. Product Sales Analysis V?
LeetCode 2329. Product Sales Analysis V is rated Easy on LeetCode.
What topics does LeetCode 2329. Product Sales Analysis V cover?
LeetCode 2329. Product Sales Analysis V is tagged Database on LeetCode.
Is LeetCode 2329. Product Sales Analysis V a premium problem?
Yes. LeetCode 2329. Product Sales Analysis V is a LeetCode Premium problem, so the full statement and test cases require a paid LeetCode subscription.

Stuck on problems like this in a live interview?

Stealth Interview is a desktop app for macOS and Windows. It reads the problem off your screen and returns a working solution with a step-by-step explanation and its time and space complexity — invisible to screen sharing.

Get Stealth Interview