Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • PostgreSQL Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Postgres Intro
  • Relational Model
  • Install & Setup
  • Connect psql
  • SELECT basics
  • Data Types
  • Create Table
  • Constraints
  • INSERT / UPDATE / DELETE
  • NULL & COALESCE
  • Schema Design
  • Relationships
  • Joins
  • Joins Advanced
  • Aggregation
  • ORDER / LIMIT
  • String Functions
  • Date Functions
  • Subqueries
  • CTE (WITH)
  • Views
  • Window Functions
  • Transactions
  • Indexes
  • Performance
  • UPSERT
  • JSONB
  • Full-Text Search
  • Triggers
  • Roles & Privileges
  • Backup & Restore
  • Node + PostgreSQL
  • Prisma Intro
  • Prisma Migrations
  • TechShop Schema
  • TechShop Queries
  • TechShop API
  • Best Practices
  • Common Mistakes
  • Interview Questions
  1. Docs
  2. PostgreSQL
  3. TechShop — flagship business queries
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 করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরTechShop — সম্পূর্ণ schema (শিক্ষার project)পরেরExpress + PostgreSQL — mini API
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com