Supermarket SQL&Python
Supermarket SQL&Python
invoice_id VARCHAR(20),
branch VARCHAR(5),
city VARCHAR(50),
customer_type VARCHAR(20),
gender VARCHAR(10),
product_line VARCHAR(50),
quantity INT,
date DATE,
time TIME,
payment VARCHAR(20),
);
FROM sales
GROUP BY city
FROM sales
GROUP BY gender;
FROM sales
GROUP BY product_line
FROM sales
GROUP BY payment
FROM sales
GROUP BY date
ORDER BY date;
FROM sales
GROUP BY hour
FROM sales
GROUP BY city
);
FROM sales
GROUP BY city;
FROM sales
GROUP BY date
ORDER BY date;
FROM sales
GROUP BY product_line
LIMIT 1;
pip install pandas matplotlib psycopg2
import psycopg2
conn = psycopg2.connect(
host="localhost",
port="5432"
)
query1 = """
FROM sales
GROUP BY city
"""
plt.ylabel('Total Sales')
plt.tight_layout()
plt.show()
query2 = """
FROM sales
GROUP BY product_line
"""
plt.xlabel('Average Rating')
plt.tight_layout()
plt.show()
query3 = """
FROM sales
GROUP BY payment;
"""
f3.set_index('payment').plot.pie(y='total_transactions', autopct='%1.1f%%',
d
title='Sales by Payment Method', legend=False)
plt.ylabel('')
plt.tight_layout()
plt.show()
query4 = """
FROM sales
GROUP BY date
ORDER BY date;
"""
df4['date'] = pd.to_datetime(df4['date'])
df4.set_index('date', inplace=True)
plt.ylabel('Sales')
plt.tight_layout()
plt.show()
# 5. Revenue by Gender
query5 = """
FROM sales
GROUP BY gender;
"""
df5 = pd.read_sql(query5, conn)
plt.ylabel('Revenue')
plt.tight_layout()
plt.show()
query6 = """
FROM sales
GROUP BY hour
ORDER BY hour;
"""
plt.xlabel('Hour of Day')
plt.ylabel('Number of Sales')
plt.xticks(range(0, 24))
plt.tight_layout()
plt.show()
query7 = """
GROUP BY product_line
LIMIT 5;
"""
plt.ylabel('Total Sales')
plt.tight_layout()
plt.show()
conn.close()