ru
Feedback
SQL Programming Resources

SQL Programming Resources

Открыть в Telegram

Find top SQL resources from global universities, cool projects, and learning materials for data analytics. Admin: @coderfun Useful links: heylink.me/DataAnalytics Promotions: @love_data

Больше

📈 Аналитический обзор Telegram-канала SQL Programming Resources

Канал SQL Programming Resources (@sqlanalyst) языкового сегмента Английский является активным участником. Сейчас сообщество объединяет 76 022 подписчиков, занимая 1 692 место в категории Технологии и приложения и 4 139 место в регионе Индия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 76 022 подписчиков.

Согласно последним данным от 30 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 387, а за последние 24 часа — 39, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 2.34%. В первые 24 часа после публикации контент обычно набирает 1.23% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 779 просмотров. В течение первых суток публикация набирает 934 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 3.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как row, sql, customer_id, logic, desc.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Find top SQL resources from global universities, cool projects, and learning materials for data analytics. Admin: @coderfun Useful links: heylink.me/DataAnalytics Promotions: @love_data

Благодаря высокой частоте обновлений (последние данные получены 01 июля, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

76 022
Подписчики
+3924 часа
+927 дней
+38730 день
Привлечение подписчиков
июль '26
июль '26
+9
в 0 каналах
июнь '26
+550
в 8 каналах
Get PRO
май '26
+597
в 9 каналах
Get PRO
апрель '26
+494
в 4 каналах
Get PRO
март '26
+166
в 6 каналах
Get PRO
февраль '26
+741
в 13 каналах
Get PRO
январь '26
+716
в 5 каналах
Get PRO
декабрь '25
+863
в 4 каналах
Get PRO
ноябрь '25
+771
в 6 каналах
Get PRO
октябрь '25
+676
в 4 каналах
Get PRO
сентябрь '25
+468
в 12 каналах
Get PRO
август '25
+502
в 25 каналах
Get PRO
июль '25
+625
в 21 каналах
Get PRO
июнь '25
+1 033
в 37 каналах
Get PRO
май '25
+2 110
в 26 каналах
Get PRO
апрель '25
+3 784
в 40 каналах
Get PRO
март '25
+1 190
в 27 каналах
Get PRO
февраль '25
+881
в 30 каналах
Get PRO
январь '25
+1 239
в 36 каналах
Get PRO
декабрь '24
+1 240
в 22 каналах
Get PRO
ноябрь '24
+3 503
в 23 каналах
Get PRO
октябрь '24
+3 975
в 29 каналах
Get PRO
сентябрь '24
+4 469
в 26 каналах
Get PRO
август '24
+5 990
в 23 каналах
Get PRO
июль '24
+8 180
в 25 каналах
Get PRO
июнь '24
+7 119
в 22 каналах
Get PRO
май '24
+5 879
в 12 каналах
Get PRO
апрель '24
+5 286
в 13 каналах
Get PRO
март '24
+6 156
в 17 каналах
Get PRO
февраль '24
+4 581
в 8 каналах
Get PRO
январь '24
+5 285
в 4 каналах
Get PRO
декабрь '23
+7 504
в 8 каналах
Дата
Привлечение подписчиков
Упоминания
Каналы
01 июля+9
Посты канала
🚀 𝗙𝗿𝗲𝗲 𝗦𝗤𝗟 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗳𝗼𝗿 𝗗𝗮𝘁𝗮 𝗦𝗰𝗶𝗲𝗻𝗰𝗲 📊💻 This FREE SQL certification program is perf
🚀 𝗙𝗿𝗲𝗲 𝗦𝗤𝗟 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗳𝗼𝗿 𝗗𝗮𝘁𝗮 𝗦𝗰𝗶𝗲𝗻𝗰𝗲 📊💻 This FREE SQL certification program is perfect for students, freshers, and aspiring data professionals 🔥 💡 Why Learn SQL? ✨ One of the Most In-Demand Tech Skills ✨ Essential for Data Analytics & Data Science ✨ Used by Top IT & Tech Companies ✨ Boosts Career Opportunities in 2026 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlink.in/4vspUif 🔥 Start learning SQL today and prepare for high-paying careers in Data Analytics & Data Science.

2
📌 Question 88: Find Customers Who Purchased in Every Month of a Year Table: orders (customer_id, order_date) SELECT     customer_id FROM orders WHERE EXTRACT(YEAR FROM order_date) = 2025 GROUP BY customer_id HAVING COUNT(     DISTINCT EXTRACT(MONTH FROM order_date) ) = 12; 📌 Question 89: Find the Most Frequently Bought Product After Product A Table: order_items (order_id, product_id, sequence_no) SELECT     b.product_id,     COUNT(*) AS purchase_count FROM order_items a JOIN order_items b ON a.order_id = b.order_id AND b.sequence_no = a.sequence_no + 1 WHERE a.product_id = 'Product_A' GROUP BY b.product_id ORDER BY purchase_count DESC LIMIT 1; 📌 Question 90: Calculate Customer Lifetime in Days Tables: customers (customer_id) orders (customer_id, order_date) SELECT     customer_id,     MAX(order_date) - MIN(order_date) AS lifetime_days FROM orders GROUP BY customer_id; ❤️ Double Tap For More
810
3
🚀 SQL Scenario-Based Interview Questions with Answers (Part 9) 💼 FAANG & Product Company SQL Interview Scenarios 📌 Question 81: Find Users Who Were Active on 3 Consecutive Days Table: user_activity (user_id, activity_date) WITH activity AS ( SELECT DISTINCT user_id, activity_date FROM user_activity ), groups AS ( SELECT user_id, activity_date, activity_date - ROW_NUMBER() OVER ( PARTITION BY user_id ORDER BY activity_date ) * INTERVAL '1 day' AS grp FROM activity ) SELECT user_id, COUNT() AS consecutive_days FROM groups GROUP BY user_id, grp HAVING COUNT() >= 3; 📌 Question 82: Find the Top 5 Selling Products in Each Category Tables: products (product_id, category) sales (product_id, quantity) WITH product_sales AS ( SELECT p.category, s.product_id, SUM(s.quantity) AS total_quantity FROM sales s JOIN products p ON s.product_id = p.product_id GROUP BY p.category, s.product_id ) SELECT * FROM ( SELECT *, DENSE_RANK() OVER ( PARTITION BY category ORDER BY total_quantity DESC ) AS rnk FROM product_sales ) t WHERE rnk <= 5; 📌 Question 83: Find Customers Whose Latest Order Is Their Highest Value Order Table: orders (customer_id, order_date, amount) WITH customer_orders AS ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY customer_id ORDER BY order_date DESC ) AS latest_order, RANK() OVER ( PARTITION BY customer_id ORDER BY amount DESC ) AS highest_order FROM orders ) SELECT customer_id, order_date, amount FROM customer_orders WHERE latest_order = 1 AND highest_order = 1; 📌 Question 84: Calculate Rolling 30-Day Revenue Table: sales (sale_date, amount) SELECT sale_date, SUM(amount) OVER ( ORDER BY sale_date RANGE BETWEEN INTERVAL '29 days' PRECEDING AND CURRENT ROW ) AS rolling_30_day_revenue FROM sales; 📌 Question 85: Find Products Purchased by Exactly One Customer Table: orders (customer_id, product_id) SELECT product_id FROM orders GROUP BY product_id HAVING COUNT(DISTINCT customer_id) = 1; 📌 Question 86: Find the Longest Inactive Period for Each Customer Table: orders (customer_id, order_date) WITH gaps AS ( SELECT customer_id, order_date, order_date - LAG(order_date) OVER ( PARTITION BY customer_id ORDER BY order_date ) AS inactive_days FROM orders ) SELECT customer_id, MAX(inactive_days) AS longest_gap FROM gaps GROUP BY customer_id; 📌 Question 87: Calculate Revenue Share by Product Category Tables: products (product_id, category) sales (product_id, amount) SELECT category, SUM(amount) AS revenue, ROUND( 100.0 * SUM(amount) / SUM(SUM(amount)) OVER (), 2 ) AS revenue_share FROM sales s JOIN products p ON s.product_id = p.product_id GROUP BY category ORDER BY revenue DESC;
619
4
𝗪𝗮𝗹𝗺𝗮𝗿𝘁 𝗙𝗥𝗘𝗘 𝗜𝗻𝘁𝗲𝗿𝗻𝘀𝗵𝗶𝗽 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗣𝗿𝗼𝗴𝗿𝗮𝗺 | 𝗔𝗽𝗽𝗹𝘆 𝗡𝗼𝘄!🚀 Offering a FREE
𝗪𝗮𝗹𝗺𝗮𝗿𝘁 𝗙𝗥𝗘𝗘 𝗜𝗻𝘁𝗲𝗿𝗻𝘀𝗵𝗶𝗽 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗣𝗿𝗼𝗴𝗿𝗮𝗺 | 𝗔𝗽𝗽𝗹𝘆 𝗡𝗼𝘄!🚀 Offering a FREE Advanced Software Engineering Job Simulation where you can work on practical tasks, enhance your coding skills, and earn a certificate to strengthen your resume. 🎯 Benefits: ✅ Free Certificate ✅ Real-World Software Engineering Tasks ✅ Self-Paced Learning Don't miss this opportunity to boost your profile and get job-ready for top tech companies! 🔥 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlink.in/4vDJN5W 📢 Share with your friends and classmates.
780
5
𝗙𝗥𝗘𝗘 𝗔𝗜 & 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 | 𝟰 𝗕𝗲𝘀𝘁 𝗬𝗼𝘂𝗧𝘂𝗯𝗲 𝗖𝗵𝗮𝗻𝗻𝗲𝗹𝘀 🚀 Learn Art
𝗙𝗥𝗘𝗘 𝗔𝗜 & 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 | 𝟰 𝗕𝗲𝘀𝘁 𝗬𝗼𝘂𝗧𝘂𝗯𝗲 𝗖𝗵𝗮𝗻𝗻𝗲𝗹𝘀 🚀 Learn Artificial Intelligence and Machine Learning for FREE from world-class creators ✔️ 100% Free Learning ✔️ Beginner to Advanced Content ✔️ Real-World Coding Projects ✔️ Learn from AI Experts ✔️ Build a Strong Portfolio ✔️ Stay Updated with the Latest AI Trends 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlinks.in/aiml 🚀Start Learning Today. Build AI Skills. Get Career Ready!
1 023
6
SQL (Structured Query Language) is a standard programming language used to manage and manipulate relational databases. Here are some key concepts to understand the basics of SQL: 1. Database: A database is a structured collection of data organized in tables, which consist of rows and columns. 2. Table: A table is a collection of related data organized in rows and columns. Each row represents a record, and each column represents a specific attribute or field. 3. Query: A SQL query is a request for data or information from a database. Queries are used to retrieve, insert, update, or delete data in a database. 4. CRUD Operations: CRUD stands for Create, Read, Update, and Delete. These are the basic operations performed on data in a database using SQL:    - Create (INSERT): Adds new records to a table.    - Read (SELECT): Retrieves data from one or more tables.    - Update (UPDATE): Modifies existing records in a table.    - Delete (DELETE): Removes records from a table. 5. Data Types: SQL supports various data types to define the type of data that can be stored in each column of a table, such as integer, text, date, and decimal. 6. Constraints: Constraints are rules enforced on data columns to ensure data integrity and consistency. Common constraints include:    - Primary Key: Uniquely identifies each record in a table.    - Foreign Key: Establishes a relationship between two tables.    - Unique: Ensures that all values in a column are unique.    - Not Null: Specifies that a column cannot contain NULL values. 7. Joins: Joins are used to combine rows from two or more tables based on a related column between them. Common types of joins include INNER JOIN, LEFT JOIN (or LEFT OUTER JOIN), RIGHT JOIN (or RIGHT OUTER JOIN), and FULL JOIN (or FULL OUTER JOIN). 8. Aggregate Functions: SQL provides aggregate functions to perform calculations on sets of values. Common aggregate functions include SUM, AVG, COUNT, MIN, and MAX. 9. Group By: The GROUP BY clause is used to group rows that have the same values into summary rows. It is often used with aggregate functions to perform calculations on grouped data. 10. Order By: The ORDER BY clause is used to sort the result set of a query based on one or more columns in ascending or descending order. Understanding these basic concepts of SQL will help you write queries to interact with databases effectively. Practice writing SQL queries and experimenting with different commands to become proficient in using SQL for database management and manipulation. SQL Learning Series: https://whatsapp.com/channel/0029VanC5rODzgT6TiTGoa1v/1075
1 120
7
💻 𝗠𝗮𝘀𝘁𝗲𝗿 𝗦𝗤𝗟 𝗙𝗢𝗥 𝗙𝗥𝗘𝗘 | 𝟱 𝗔𝗺𝗮𝘇𝗶𝗻𝗴 𝗪𝗲𝗯𝘀𝗶𝘁𝗲𝘀 𝗧𝗼 𝗟𝗲𝗮𝗿𝗻 𝗦𝗤𝗟 🚀 Want to become a Data A
💻 𝗠𝗮𝘀𝘁𝗲𝗿 𝗦𝗤𝗟 𝗙𝗢𝗥 𝗙𝗥𝗘𝗘 | 𝟱 𝗔𝗺𝗮𝘇𝗶𝗻𝗴 𝗪𝗲𝗯𝘀𝗶𝘁𝗲𝘀 𝗧𝗼 𝗟𝗲𝗮𝗿𝗻 𝗦𝗤𝗟 🚀 Want to become a Data Analyst, Data Scientist, or Software Engineer? Start by mastering SQL—one of the most in-demand skills in the tech industry! These 5 FREE websites will help you learn SQL from scratch through interactive lessons, quizzes, and hands-on practice. 𝐋𝐢𝐧𝐤👇:- https://pdlinks.in/qje 🚀 Start Learning SQL Today and Build a Strong Foundation for Your Tech Career!
1 108
8
🚀 𝗡𝗩𝗜𝗗𝗜𝗔 𝗙𝗥𝗘𝗘 𝗔𝗜 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗖𝗼𝘂𝗿𝘀𝗲𝘀 | 𝗟𝗲𝗮𝗿𝗻 𝗙𝗿𝗼𝗺 𝗔𝗜 𝗜𝗻𝗱𝘂𝘀𝘁𝗿𝘆 𝗟𝗲𝗮𝗱�
🚀 𝗡𝗩𝗜𝗗𝗜𝗔 𝗙𝗥𝗘𝗘 𝗔𝗜 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗖𝗼𝘂𝗿𝘀𝗲𝘀 | 𝗟𝗲𝗮𝗿𝗻 𝗙𝗿𝗼𝗺 𝗔𝗜 𝗜𝗻𝗱𝘂𝘀𝘁𝗿𝘆 𝗟𝗲𝗮𝗱𝗲𝗿𝘀 Want to build cutting-edge *AI skills* from one of the world's leading AI and GPU companies? *NVIDIA* offers *FREE AI Certification Courses* to help students, freshers, developers, and professionals 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlinks.in/nvdia 🚀 Start Learning Today. Earn Your Certificate. Build Your Future in AI!
1 355
9
📌 Question 69: Find Orders Above Monthly Average Table: orders (order_id, amount, order_date) WITH monthly_avg AS (     SELECT         DATE_TRUNC('month', order_date) AS month,         AVG(amount) AS avg_amount     FROM orders     GROUP BY DATE_TRUNC('month', order_date) ) SELECT     o.order_id,     o.amount,     o.order_date FROM orders o JOIN monthly_avg m ON DATE_TRUNC('month', o.order_date) = m.month WHERE o.amount > m.avg_amount; 📌 Question 70: Calculate Customer Repeat Rate by Month Table: orders (customer_id, order_date) WITH customer_orders AS (     SELECT         DATE_TRUNC('month', order_date) AS month,         customer_id,         COUNT() AS order_count     FROM orders     GROUP BY month, customer_id ) SELECT     month,     ROUND(         100.0 *         COUNT(CASE WHEN order_count > 1 THEN 1 END)         / COUNT(),         2     ) AS repeat_rate FROM customer_orders GROUP BY month ORDER BY month; 🎯 Concepts Covered: ✅ Window Functions ✅ Streak Analysis ✅ Customer Segmentation ✅ Weekly & Monthly KPIs ✅ Revenue Analytics ✅ Business Intelligence ✅ Advanced Aggregations ✅ Real Interview Scenarios  ❤️ Double Tap For More
1 107
10
🚀 SQL Scenario-Based Interview Questions with Answers: Part-7 📌 Question 61: Find the Longest Purchase Streak Table: orders (customer_id, order_date) Requirement: Find the longest consecutive daily purchase streak for each customer. WITH purchase_days AS ( SELECT DISTINCT customer_id, order_date FROM orders ), streaks AS ( SELECT customer_id, order_date, order_date - ROW_NUMBER() OVER ( PARTITION BY customer_id ORDER BY order_date ) * INTERVAL '1 day' AS grp FROM purchase_days ) SELECT customer_id, COUNT(*) AS longest_streak FROM streaks GROUP BY customer_id, grp ORDER BY longest_streak DESC; 📌 Question 62: Find Products Purchased by More Than 80% of Customers Tables: products (product_id) orders (customer_id, product_id) SELECT product_id FROM orders GROUP BY product_id HAVING COUNT(DISTINCT customer_id) >= ( SELECT COUNT(DISTINCT customer_id) * 0.80 FROM orders ); 📌 Question 63: Find the Highest Revenue Day for Each Month Table: sales (sale_date, amount) WITH daily_sales AS ( SELECT DATE(sale_date) AS sale_day, SUM(amount) AS revenue FROM sales GROUP BY DATE(sale_date) ) SELECT month, sale_day, revenue FROM ( SELECT DATE_TRUNC('month', sale_day) AS month, sale_day, revenue, DENSE_RANK() OVER ( PARTITION BY DATE_TRUNC('month', sale_day) ORDER BY revenue DESC ) AS rnk FROM daily_sales ) t WHERE rnk = 1; 📌 Question 64: Calculate Customer Purchase Frequency Table: orders (customer_id, order_date) Requirement: Average number of days between consecutive orders. WITH purchase_gap AS ( SELECT customer_id, order_date, LAG(order_date) OVER ( PARTITION BY customer_id ORDER BY order_date ) AS previous_order FROM orders ) SELECT customer_id, ROUND( AVG(order_date - previous_order), 2 ) AS avg_days_between_orders FROM purchase_gap WHERE previous_order IS NOT NULL GROUP BY customer_id; 📌 Question 65: Find Customers Who Bought Only One Product Category Tables: orders (customer_id, product_id) products (product_id, category) SELECT customer_id FROM orders o JOIN products p ON o.product_id = p.product_id GROUP BY customer_id HAVING COUNT(DISTINCT category) = 1; 📌 Question 66: Calculate Revenue by Week Table: sales (sale_date, amount) SELECT DATE_TRUNC('week', sale_date) AS week, SUM(amount) AS revenue FROM sales GROUP BY DATE_TRUNC('week', sale_date) ORDER BY week; 📌 Question 67: Find Customers with the Highest Average Order Value Table: orders (customer_id, amount) SELECT customer_id, ROUND(AVG(amount), 2) AS avg_order_value FROM orders GROUP BY customer_id ORDER BY avg_order_value DESC LIMIT 10; 📌 Question 68: Find the Month with the Highest Number of New Customers Table: users (user_id, signup_date) SELECT DATE_TRUNC('month', signup_date) AS month, COUNT(*) AS new_customers FROM users GROUP BY DATE_TRUNC('month', signup_date) ORDER BY new_customers DESC LIMIT 1;
884
11
𝗧𝗖𝗦 𝗙𝗥𝗘𝗘 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗢𝗻 𝗗𝗮𝘁𝗮 𝗠𝗮𝗻𝗮𝗴𝗲𝗺𝗲𝗻𝘁 - 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘😍 TCS iON is off
𝗧𝗖𝗦 𝗙𝗥𝗘𝗘 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗢𝗻 𝗗𝗮𝘁𝗮 𝗠𝗮𝗻𝗮𝗴𝗲𝗺𝗲𝗻𝘁 - 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘😍 TCS iON is offering a FREE Master Data Management Course with a Certificate, ✅ 100% FREE Learning ✅ Certificate on Completion ✅ Self-Paced Online Course ✅ Beginner-Friendly Content ✅ Industry-Relevant Skills ✅ Resume & LinkedIn Profile Boost 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlink.in/4jGFBw0 🚀 Start Learning Today. Upskill for Free. Get Career Ready!
1 125
12
🚀 SQL Business Scenario Interview Questions with Answers Part 6 📌 Question 51: Find Customers Who Haven't Ordered in the Last 90 Days Tables: customers (customer_id), orders (customer_id, order_date) SELECT c.customer_id FROM customers c LEFT JOIN orders o ON c.customer_id = o.customer_id GROUP BY c.customer_id HAVING MAX(order_date) < CURRENT_DATE - INTERVAL '90 days' OR MAX(order_date) IS NULL; 📌 Question 52: Calculate Average Revenue Per User ARPU Tables: users (user_id), orders (user_id, amount) SELECT ROUND( SUM(amount) * 1.0 / COUNT(DISTINCT u.user_id), 2 ) AS arpu FROM users u LEFT JOIN orders o ON u.user_id = o.user_id; 📌 Question 53: Find the Fastest Selling Product Table: inventory (product_id, launch_date) Table: sales (product_id, sale_date) Requirement: Find the product with the fewest days from launch to first sale. WITH first_sale AS ( SELECT product_id, MIN(sale_date) AS first_sale_date FROM sales GROUP BY product_id ) SELECT i.product_id, (first_sale_date - launch_date) AS days_to_sell FROM inventory i JOIN first_sale f ON i.product_id = f.product_id ORDER BY days_to_sell LIMIT 1; 📌 Question 54: Find Customers Who Purchased in Every Quarter Table: orders (customer_id, order_date) WITH customer_quarters AS ( SELECT customer_id, COUNT( DISTINCT DATE_TRUNC('quarter', order_date) ) AS quarter_count FROM orders GROUP BY customer_id ), total_quarters AS ( SELECT COUNT( DISTINCT DATE_TRUNC('quarter', order_date) ) AS total_quarters FROM orders ) SELECT customer_id FROM customer_quarters CROSS JOIN total_quarters WHERE quarter_count = total_quarters; 📌 Question 55: Find Revenue Contribution of Top 10 Customers Table: orders (customer_id, amount) WITH customer_revenue AS ( SELECT customer_id, SUM(amount) AS revenue FROM orders GROUP BY customer_id ) SELECT SUM(revenue) AS top10_revenue, ROUND( 100.0 * SUM(revenue) / ( SELECT SUM(amount) FROM orders ), 2 ) AS contribution_pct FROM ( SELECT revenue FROM customer_revenue ORDER BY revenue DESC LIMIT 10 ) t; 📌 Question 56: Find Products Never Returned Tables: products (product_id) sales (order_id, product_id) returns (order_id) SELECT DISTINCT p.product_id FROM products p LEFT JOIN sales s ON p.product_id = s.product_id LEFT JOIN returns r ON s.order_id = r.order_id WHERE r.order_id IS NULL; 📌 Question 57: Calculate Daily Revenue Growth Table: sales (sale_date, amount) WITH daily_sales AS ( SELECT sale_date, SUM(amount) AS revenue FROM sales GROUP BY sale_date ) SELECT sale_date, revenue, ROUND( 100.0 * ( revenue - LAG(revenue) OVER( ORDER BY sale_date ) / LAG(revenue) OVER( ORDER BY sale_date ), 2 ) AS growth_pct FROM daily_sales; 📌 Question 58: Find the Most Loyal Customers Table: orders (customer_id, order_date) Requirement: Customers who placed orders in the highest number of distinct months. SELECT customer_id, COUNT( DISTINCT DATE_TRUNC('month', order_date) ) AS active_months FROM orders GROUP BY customer_id ORDER BY active_months DESC LIMIT 10; 📌 Question 59: Find Products With Zero Sales Tables: products (product_id) sales (product_id) SELECT p.product_id FROM products p LEFT JOIN sales s ON p.product_id = s.product_id WHERE s.product_id IS NULL; 📌 Question 60: Calculate Average Orders Per Customer Table: orders (customer_id) SELECT ROUND( COUNT(*) * 1.0 / COUNT(DISTINCT customer_id), 2 ) AS avg_orders_per_customer FROM orders; ❤️ Double Tap For More
1 117
13
📊 𝗙𝗥𝗘𝗘 𝗗𝗮𝘁𝗮 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 𝗖𝗼𝘂𝗿𝘀𝗲𝘀 | 𝗡𝗼 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲 𝗡𝗲𝗲𝗱𝗲𝗱! 🚀 Want to start a career in
📊 𝗙𝗥𝗘𝗘 𝗗𝗮𝘁𝗮 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 𝗖𝗼𝘂𝗿𝘀𝗲𝘀 | 𝗡𝗼 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲 𝗡𝗲𝗲𝗱𝗲𝗱! 🚀 Want to start a career in Data Analytics but don't know where to begin? These 5 FREE beginner-friendly courses will help you learn the most in-demand data skills and build a strong foundation. 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlink.in/3SOk64h 🚀 Start Learning Today. Build Your Portfolio. Land Your Dream Data Job!
1 111
14
🚀 SQL Scenario Based Interview Questions with Answers: Part-5 📌 Question 41: Find Customers Whose Spending Decreased for 3 Consecutive Months  Table: orders (customer_id, amount, order_date) WITH monthly_spend AS (     SELECT         customer_id,         DATE_TRUNC('month', order_date) AS month,         SUM(amount) AS revenue     FROM orders     GROUP BY customer_id, DATE_TRUNC('month', order_date) ), spend_trend AS (     SELECT *,            LAG(revenue,1) OVER(PARTITION BY customer_id ORDER BY month) AS prev1,            LAG(revenue,2) OVER(PARTITION BY customer_id ORDER BY month) AS prev2     FROM monthly_spend ) SELECT customer_id, month FROM spend_trend WHERE revenue < prev1   AND prev1 < prev2; 📌 Question 42: Find the Median Order Amount for Each Month  Table: orders (order_id, amount, order_date) SELECT     DATE_TRUNC('month', order_date) AS month,     PERCENTILE_CONT(0.5)         WITHIN GROUP (ORDER BY amount) AS median_order FROM orders GROUP BY DATE_TRUNC('month', order_date); 📌 Question 43: Find Customers Who Ordered on Every Weekend  Table: orders (customer_id, order_date) SELECT     customer_id FROM orders WHERE EXTRACT(DOW FROM order_date) IN (0,6) GROUP BY customer_id HAVING COUNT(DISTINCT order_date) >= 8; 📌 Question 44: Find the Top 5% Highest Revenue Customers  Table: orders (customer_id, amount) WITH revenue AS (     SELECT         customer_id,         SUM(amount) AS total_revenue     FROM orders     GROUP BY customer_id ) SELECT * FROM (     SELECT *,            NTILE(20) OVER (ORDER BY total_revenue DESC) AS bucket     FROM revenue ) t WHERE bucket = 1; 📌 Question 45: Find the Most Frequently Returned Product  Tables: sales (order_id, product_id) returns (order_id) SELECT     s.product_id,     COUNT(*) AS return_count FROM sales s JOIN returns r ON s.order_id = r.order_id GROUP BY s.product_id ORDER BY return_count DESC LIMIT 1; 📌 Question 46: Calculate Average Delivery Time  Table: deliveries (order_id, order_date, delivery_date) SELECT     ROUND(         AVG(delivery_date - order_date),         2     ) AS avg_delivery_days FROM deliveries; 📌 Question 47: Find Users Who Logged In Every Day Last Week  Table: logins (user_id, login_date) SELECT     user_id FROM logins WHERE login_date >= CURRENT_DATE - INTERVAL '6 day' GROUP BY user_id HAVING COUNT(DISTINCT login_date) = 7; 📌 Question 48: Find Products with Revenue Above Category Average  Tables: products (product_id, category) sales (product_id, amount) WITH product_revenue AS (     SELECT         p.product_id,         p.category,         SUM(s.amount) AS revenue     FROM products p     JOIN sales s       ON p.product_id = s.product_id     GROUP BY p.product_id, p.category ) SELECT * FROM (     SELECT *,            AVG(revenue) OVER (                PARTITION BY category            ) AS category_avg     FROM product_revenue ) t WHERE revenue > category_avg; 📌 Question 49: Find the Busiest Day of the Week  Table: orders (order_date) SELECT     TO_CHAR(order_date, 'Day') AS weekday,     COUNT(*) AS total_orders FROM orders GROUP BY weekday ORDER BY total_orders DESC LIMIT 1; 📌 Question 50: Calculate Customer Retention After First Purchase Table: orders (customer_id, order_date) WITH customer_orders AS (     SELECT         customer_id,         COUNT() AS total_orders     FROM orders     GROUP BY customer_id ) SELECT     ROUND(         100.0 *         COUNT(CASE WHEN total_orders > 1 THEN 1 END)         / COUNT(),         2     ) AS retention_rate FROM customer_orders; 🎯 Concepts Covered: ✅ Window Functions ✅ Percentiles ✅ NTILE() ✅ Retention Analysis ✅ Revenue Analytics ✅ Delivery KPIs ✅ Customer Behavior Analysis ✅ Advanced Business SQL  ❤️ Double Tap For More
1 356
15
📊 𝗙𝗥𝗘𝗘 𝗧𝗮𝘁𝗮 𝗗𝗮𝘁𝗮 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 𝗩𝗶𝗿𝘁𝘂𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗻𝘀𝗵𝗶𝗽 | 𝗪𝗶𝘁𝗵 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗲 🚀 Her
📊 𝗙𝗥𝗘𝗘 𝗧𝗮𝘁𝗮 𝗗𝗮𝘁𝗮 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 𝗩𝗶𝗿𝘁𝘂𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗻𝘀𝗵𝗶𝗽 | 𝗪𝗶𝘁𝗵 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗲 🚀 Here's an amazing opportunity to complete the FREE Tata Data Analytics Virtual Internship and earn a certificate that you can showcase on your Resume and LinkedIn. ✅ 100% FREE ✅ Self-Paced & Online ✅ Beginner-Friendly ✅ Certificate on Completion ✅ Real Business Case Studies ✅ Resume & LinkedIn Boost 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlink.in/4eybW8J 🚀 Upskill Today. Build Your Portfolio. Get Career Ready!
1 433
16
SELECT     EXTRACT(HOUR FROM order_timestamp) AS order_hour,     COUNT(*) AS total_orders FROM orders GROUP BY order_hour ORDER BY total_orders DESC LIMIT 1; 📌 Question 40: Rank Salespersons by Quarterly Revenue Table: sales salesperson_id, amount, sale_date WITH quarterly_sales AS (     SELECT         salesperson_id,         DATE_TRUNC('quarter', sale_date) AS quarter,         SUM(amount) AS revenue     FROM sales     GROUP BY 1,2 ) SELECT *,     DENSE_RANK() OVER (         PARTITION BY quarter         ORDER BY revenue DESC     ) AS sales_rank FROM quarterly_sales; Double Tap ❤️ For More
1 583
17
SELECT     EXTRACT(HOUR FROM order_timestamp) AS order_hour,     COUNT(*) AS total_orders FROM orders GROUP BY order_hour ORDER BY total_orders DESC LIMIT 1; 📌 Question 40: Rank Salespersons by Quarterly Revenue Table: sales salesperson_id, amount, sale_date WITH quarterly_sales AS (     SELECT         salesperson_id,         DATE_TRUNC('quarter', sale_date) AS quarter,         SUM(amount) AS revenue     FROM sales     GROUP BY 1,2 ) SELECT *,     DENSE_RANK() OVER (         PARTITION BY quarter         ORDER BY revenue DESC     ) AS sales_rank FROM quarterly_sales; Double Tap ❤️ For More ----- 1.38 ₽ · /balance_help
1
18
🚀 SQL Scenario Based Interview Questions with Answers Part 4 📌 Question 31: Find Customers Who Increased Their Monthly Spending Table: orders customer_id, amount, order_date Requirement: Return customers whose spending increased compared to the previous month. WITH monthly_spend AS ( SELECT customer_id, DATE_TRUNC('month', order_date) AS month, SUM(amount) AS total_spend FROM orders GROUP BY customer_id, DATE_TRUNC('month', order_date) ) SELECT customer_id, month, total_spend FROM ( SELECT *, LAG(total_spend) OVER ( PARTITION BY customer_id ORDER BY month ) AS prev_spend FROM monthly_spend ) t WHERE total_spend > prev_spend; 📌 Question 32: Find Products Purchased Together Most Often Table: order_items order_id, product_id SELECT a.product_id AS product_1, b.product_id AS product_2, COUNT(*) AS frequency FROM order_items a JOIN order_items b ON a.order_id = b.order_id AND a.product_id < b.product_id GROUP BY 1,2 ORDER BY frequency DESC LIMIT 10; 📌 Question 33: Find Users Active for 7 Consecutive Days Table: user_activity user_id, activity_date WITH activity AS ( SELECT user_id, activity_date, activity_date - ROW_NUMBER() OVER ( PARTITION BY user_id ORDER BY activity_date ) * INTERVAL '1 day' AS grp FROM user_activity ) SELECT user_id FROM activity GROUP BY user_id, grp HAVING COUNT(*) >= 7; 📌 Question 34: Calculate Repeat Purchase Rate Table: orders customer_id, order_id SELECT ROUND( 100.0 * COUNT(CASE WHEN order_count > 1 THEN 1 END) / COUNT(*), 2 ) AS repeat_purchase_rate FROM ( SELECT customer_id, COUNT(*) AS order_count FROM orders GROUP BY customer_id ) t; 📌 Question 35: Find the Longest Gap Between Two Orders Table: orders customer_id, order_date WITH gaps AS ( SELECT customer_id, order_date, order_date - LAG(order_date) OVER ( PARTITION BY customer_id ORDER BY order_date ) AS gap_days FROM orders ) SELECT customer_id, MAX(gap_days) AS longest_gap FROM gaps GROUP BY customer_id; 📌 Question 36: Calculate Revenue Lost Due to Churn Tables: customers customer_id, status, orders customer_id, amount SELECT SUM(amount) AS churned_revenue FROM customers c JOIN orders o ON c.customer_id = o.customer_id WHERE c.status = 'Churned'; 📌 Question 37: Find the Fastest Growing Product Table: sales product_id, amount, sale_date WITH monthly_sales AS ( SELECT product_id, DATE_TRUNC('month', sale_date) AS month, SUM(amount) AS revenue FROM sales GROUP BY 1,2 ) SELECT * FROM ( SELECT *, revenue - LAG(revenue) OVER ( PARTITION BY product_id ORDER BY month ) AS growth FROM monthly_sales ) t ORDER BY growth DESC LIMIT 1; 📌 Question 38: Find Customers Who Purchased Every Product Category Tables: products product_id, category, orders customer_id, product_id SELECT customer_id FROM orders o JOIN products p ON o.product_id = p.product_id GROUP BY customer_id HAVING COUNT(DISTINCT category) = ( SELECT COUNT(DISTINCT category) FROM products ); 📌 Question 39: Find Peak Ordering Hour Table: orders order_id, order_timestamp
1 383
19
📊 𝗣𝘄𝗖 𝗶𝘀 𝗼𝗳𝗳𝗲𝗿𝗶𝗻𝗴 𝗮 𝗙𝗥𝗘𝗘 𝗣𝗼𝘄𝗲𝗿 𝗕𝗜 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗣𝗿𝗼𝗴𝗿𝗮𝗺 This helps tolearn data
📊 𝗣𝘄𝗖 𝗶𝘀 𝗼𝗳𝗳𝗲𝗿𝗶𝗻𝗴 𝗮 𝗙𝗥𝗘𝗘 𝗣𝗼𝘄𝗲𝗿 𝗕𝗜 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗣𝗿𝗼𝗴𝗿𝗮𝗺 This helps tolearn data visualization, dashboard creation, KPI analysis, and business intelligence skills that companies actively look for. ✅ Free Certificate ✅ Self-Paced Learning ✅ Hands-On Power BI Projects ✅ Beginner Friendly ✅ Resume & LinkedIn Boost Don't miss this opportunity to add an in-demand skill to your profile and stand out from the crowd! 💼🔥 🔗 𝗘𝗻𝗿𝗼𝗹𝗹 𝗙𝗼𝗿 𝗙𝗥𝗘𝗘👇: https://pdlink.in/4g5sKFa Share with yours friends who wants to start a career in Data Analytics
1 323
20
🚀 SQL Scenario Based Interview Questions with Answers: Part-3 📌 Question 21: Find the First Purchase Date for Every Customer Table: orders order_id, customer_id, order_date SELECT customer_id, MIN(order_date) AS first_purchase_date FROM orders GROUP BY customer_id; 📌 Question 22: Calculate Customer Lifetime Value (CLV) Table: orders customer_id, amount Requirement: Total revenue generated by each customer. SELECT customer_id, SUM(amount) AS lifetime_value FROM orders GROUP BY customer_id ORDER BY lifetime_value DESC; 📌 Question 23: Find the Top 5 Products Contributing 80% of Revenue Table: sales product_id, amount WITH product_revenue AS ( SELECT product_id, SUM(amount) AS revenue FROM sales GROUP BY product_id ), revenue_rank AS ( SELECT product_id, revenue, SUM(revenue) OVER (ORDER BY revenue DESC) AS running_revenue, SUM(revenue) OVER () AS total_revenue FROM product_revenue ) SELECT product_id, revenue, ROUND(100.0 * running_revenue / total_revenue, 2) AS cumulative_pct FROM revenue_rank WHERE running_revenue <= total_revenue * 0.80; 📌 Question 24: Find Customers Who Purchased More Than 3 Different Products Table: orders customer_id, product_id SELECT customer_id FROM orders GROUP BY customer_id HAVING COUNT(DISTINCT product_id) > 3; 📌 Question 25: Find the Highest Revenue Order for Each Customer Table: orders order_id, customer_id, amount WITH ranked_orders AS ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY customer_id ORDER BY amount DESC ) AS rn FROM orders ) SELECT customer_id, order_id, amount FROM ranked_orders WHERE rn = 1; 📌 Question 26: Calculate Average Time Between Orders Table: orders customer_id, order_date WITH order_gap AS ( SELECT customer_id, order_date, LAG(order_date) OVER ( PARTITION BY customer_id ORDER BY order_date ) AS previous_order FROM orders ) SELECT customer_id, AVG(order_date - previous_order) AS avg_days_between_orders FROM order_gap WHERE previous_order IS NOT NULL GROUP BY customer_id; 📌 Question 27: Find Users Who Abandoned Their Cart Tables: cart user_id, product_id, orders user_id Requirement: Users who added items to their cart but never completed a purchase. SELECT DISTINCT c.user_id FROM cart c LEFT JOIN orders o ON c.user_id = o.user_id WHERE o.user_id IS NULL; 📌 Question 28: Find Revenue Generated by New vs Returning Customers Tables: users user_id, signup_date, orders user_id, amount, order_date SELECT CASE WHEN DATE_TRUNC('month', signup_date) = DATE_TRUNC('month', order_date) THEN 'New' ELSE 'Returning' END AS customer_type, SUM(amount) AS revenue FROM users u JOIN orders o ON u.user_id = o.user_id GROUP BY customer_type; 📌 Question 29: Find the Most Frequently Purchased Product Pair Table: order_items order_id, product_id SELECT a.product_id AS product_1, b.product_id AS product_2, COUNT(*) AS pair_count FROM order_items a JOIN order_items b ON a.order_id = b.order_id AND a.product_id < b.product_id GROUP BY a.product_id, b.product_id ORDER BY pair_count DESC LIMIT 1; 📌 Question 30: Calculate Revenue Contribution by Region Tables: customers customer_id, region, orders customer_id, amount SELECT c.region, SUM(o.amount) AS revenue, ROUND( 100.0 * SUM(o.amount) / SUM(SUM(o.amount)) OVER (), 2 ) AS revenue_share FROM customers c JOIN orders o ON c.customer_id = o.customer_id GROUP BY c.region ORDER BY revenue DESC; Double Tap ❤️ For More
1 487