PostgreSQLIntermediate
TechShop — flagship business queries
এই course-এর সব ধারণা — joins, aggregation, window, CTE — আসল প্রশ্নে।
5টি অংশবাংলা ভাষায়
১. category-wise revenuesql
sql
SELECT c.name AS category, SUM(oi.qty * oi.price) AS revenue
FROM order_items oi
JOIN products p ON p.id = oi.product_id
JOIN categories c ON c.id = p.category_id
GROUP BY c.name
ORDER BY revenue DESC;২. top-selling (window)sql
sql
SELECT name, sold, rank
FROM (
SELECT p.name, SUM(oi.qty) AS sold,
RANK() OVER (ORDER BY SUM(oi.qty) DESC) AS rank
FROM order_items oi
JOIN products p ON p.id = oi.product_id
GROUP BY p.name
) top
WHERE rank <= 5;৩. CTE: loyal customerssql
sql
WITH spend AS (
SELECT u.id, u.name, SUM(o.total) AS total
FROM users u JOIN orders o ON o.user_id = u.id
GROUP BY u.id, u.name
)
SELECT name, total,
NTILE(4) OVER (ORDER BY total DESC) AS tier
FROM spend
ORDER BY total DESC;৪. monthly growth (date_trunc + lag)sql
sql
WITH monthly AS (
SELECT date_trunc('month', created_at) AS month,
SUM(total) AS revenue
FROM orders
GROUP BY month
)
SELECT month,
revenue,
revenue - LAG(revenue) OVER (ORDER BY month) AS delta
FROM monthly
ORDER BY month;পরীক্ষা-নিরীক্ষা pattern
প্রথমে এক-এক করে প্রতিটি CTE/join চালান — error খুঁজে বের সহজ; তারপর সব একত্রিত করুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।