Skip to main content
Back to problems
#1607
Easy Database

Sellers with no sales

Database
54.3% acceptance
Mar 31, 2026
147
14

No description available.

Solution

Pandas
Time O(1)
Space O(1)
LeetCode
solution.pandas
# Table: Customer
# 
# +---------------+---------+
# | Column Name   | Type    |
# +---------------+---------+
# | customer_id   | int     |
# | customer_name | varchar |
# +---------------+---------+
# customer_id is the column with unique values for this table.
# Each row of this table contains the information of each customer in the WebStore.
# 
#  
# 
# Table: Orders
# 
# +---------------+---------+
# | Column Name   | Type    |
# +---------------+---------+
# | order_id      | int     |
# | sale_date     | date    |
# | order_cost    | int     |
# | customer_id   | int     |
# | seller_id     | int     |
# +---------------+---------+
# order_id is the column with unique values for this table.
# Each row of this table contains all orders made in the webstore.
# sale_date is the date when the transaction was made between the customer (customer_id) and the seller (seller_id).
# 
#  
# 
# Table: Seller
# 
# +---------------+---------+
# | Column Name   | Type    |
# +---------------+---------+
# | seller_id     | int     |
# | seller_name   | varchar |
# +---------------+---------+
# seller_id is the column with unique values for this table.
# Each row of this table contains the information of each seller.
# 
#  
# 
# Write a solution to report the names of all sellers who did not make any sales in 2020.
# 
# Return the result table ordered by seller_name in ascending order.
# 
# The result format is in the following example.
#
# Example 1:
# Input:
# Customer table:
# +--------------+---------------+
# | customer_id  | customer_name |
# +--------------+---------------+
# | 101          | Alice         |
# | 102          | Bob           |
# | 103          | Charlie       |
# +--------------+---------------+
# Orders table:
# +-------------+------------+--------------+-------------+-------------+
# | order_id    | sale_date  | order_cost   | customer_id | seller_id   |
# +-------------+------------+--------------+-------------+-------------+
# | 1           | 2020-03-01 | 1500         | 101         | 1           |
# | 2           | 2020-05-25 | 2400         | 102         | 2           |
# | 3           | 2019-05-25 | 800          | 101         | 3           |
# | 4           | 2020-09-13 | 1000         | 103         | 2           |
# | 5           | 2019-02-11 | 700          | 101         | 2           |
# +-------------+------------+--------------+-------------+-------------+
# Seller table:
# +-------------+-------------+
# | seller_id   | seller_name |
# +-------------+-------------+
# | 1           | Daniel      |
# | 2           | Elizabeth   |
# | 3           | Frank       |
# +-------------+-------------+
# Output:
# +-------------+
# | seller_name |
# +-------------+
# | Frank       |
# +-------------+
# Explanation:
# Daniel made 1 sale in March 2020.
# Elizabeth made 2 sales in 2020 and 1 sale in 2019.
# Frank made 1 sale in 2019 but no sales in 2020.

import pandas as pd

def sellers_with_no_sales(customer: pd.DataFrame, orders: pd.DataFrame, seller: pd.DataFrame) -> pd.DataFrame:
  orders_2020 = orders[pd.to_datetime(orders['sale_date']).dt.year == 2020]
  sellers_with_sales = set(orders_2020['seller_id'])
  result = seller[~seller['seller_id'].isin(sellers_with_sales)][['seller_name']]
  result = result.sort_values('seller_name')
  return result