Data Analytics
Perfect channel to learn Data Analytics Learn SQL, Python, Alteryx, Tableau, Power BI and many more For Promotions: @coderfun @love_data
Показати більше📈 Аналітичний огляд Telegram-каналу Data Analytics
Канал Data Analytics (@sqlspecialist) у мовному сегменті Англійська є активним учасником. На даний момент спільнота об'єднує 110 094 підписників, посідаючи 1 101 місце в категорії Технології та додатки та 2 303 місце у регіоні Індія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 110 094 підписників.
За останніми даними від 08 липня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 735, а за останні 24 години на 8, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 2.89%. Протягом перших 24 годин після публікації контент зазвичай збирає 1.72% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 3 181 переглядів. Протягом першої доби публікація в середньому набирає 1 892 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 8.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як row, sql, analytic, analyst, visualization.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Perfect channel to learn Data Analytics
Learn SQL, Python, Alteryx, Tableau, Power BI and many more
For Promotions: @coderfun @love_data”
Завдяки високій частоті оновлень (останні дані отримано 09 липня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
SELECT
employee_id,
employee_name,
department,
salary
FROM (
SELECT
employee_id,
employee_name,
department,
salary,
DENSE_RANK() OVER (
PARTITION BY department
ORDER BY salary DESC
) AS rnk
FROM employees
) ranked
WHERE rnk = 1;
💡 Explanation:
This query uses the DENSE_RANK() window function to rank employees by salary within each department.
• PARTITION BY department creates separate rankings for each department.
• ORDER BY salary DESC ranks the highest salary as 1.
• DENSE_RANK() ensures that if multiple employees have the same highest salary, they all receive Rank 1.
• The outer query filters only the employees with rnk = 1.
This question tests your knowledge of:
✅ Window Functions
✅ DENSE_RANK() vs RANK() vs ROW_NUMBER()
✅ Partitioning Data
🎯 Output Example
Employee | Department | Salary
John | IT | 95,000
Sarah | HR | 80,000
David | Finance | 90,000
Alice | IT | 95,000
(John and Alice both appear because they share the highest salary in the IT department.)
🚀 Whenever an interview question asks for the top N records per group, think of window functions.
DENSE_RANK(), RANK(), and ROW_NUMBER() are among the most commonly tested SQL concepts.
❤️ React with ❤️ for more SQL interview challenges!SELECT
employee_id,
employee_name,
department,
salary
FROM employees e
WHERE salary > (
SELECT AVG(salary)
FROM employees
WHERE department = e.department
);
💡 Explanation:
The query uses a correlated subquery to calculate the average salary for each employee's department.
• The outer query iterates through each employee.
• The inner query calculates the average salary of that employee's department.
• If an employee's salary is greater than their department's average, they're included in the result.
This is a classic SQL interview question that tests your understanding of:
✅ Correlated Subqueries
✅ Aggregate Functions (AVG)
✅ Filtering with WHERE
🎯 Expected Output Example
+----------+------------+--------+ | Employee | Department | Salary | +----------+------------+--------+ | John | IT | 90,000 | | Sarah | HR | 70,000 | | David | Finance | 85,000 | +----------+------------+--------+(Only employees earning above their department's average salary.) 🚀 Correlated subqueries are asked frequently in interviews. Learn when to use them—and also know how to rewrite them using window functions for better performance on large datasets. ❤️ React with ❤️ for more SQL interview challenges!
WITH ranked_salary AS (
SELECT *,
DENSE_RANK() OVER (
PARTITION BY department_id
ORDER BY salary DESC
) AS rnk
FROM employees
)
SELECT department_id, employee_id, salary
FROM ranked_salary
WHERE rnk = 2;
📌 Question 12: Identify Users Who Purchased on Their First Visit
Tables: visits (user_id, visit_date) | orders (user_id, order_date)
WITH first_visit AS (
SELECT user_id,
MIN(visit_date) AS first_visit_date
FROM visits
GROUP BY user_id
)
SELECT DISTINCT f.user_id
FROM first_visit f
JOIN orders o
ON f.user_id = o.user_id
AND f.first_visit_date = o.order_date;
📌 Question 13: Find Products Never Sold
Tables: products (product_id, product_name) | sales (product_id)
SELECT p.product_id, p.product_name
FROM products p
LEFT JOIN sales s
ON p.product_id = s.product_id
WHERE s.product_id IS NULL;
📌 Question 14: Calculate Month-over-Month Revenue Growth
Table: orders (order_date, revenue)
WITH monthly_revenue AS (
SELECT DATE_TRUNC('month', order_date) AS month,
SUM(revenue) AS total_revenue
FROM orders
GROUP BY 1
)
SELECT month,
total_revenue,
LAG(total_revenue) OVER (ORDER BY month) AS previous_month,
ROUND(
100.0 *
(total_revenue - LAG(total_revenue) OVER (ORDER BY month))
/
LAG(total_revenue) OVER (ORDER BY month),
2
) AS growth_pct
FROM monthly_revenue;
📌 Question 15: Find Employees Earning More Than Department Average
Table: employees (employee_id, department_id, salary)
SELECT employee_id, department_id, salary
FROM (
SELECT *,
AVG(salary) OVER (
PARTITION BY department_id
) AS dept_avg
FROM employees
) t
WHERE salary > dept_avg;
📌 Question 16: Find Longest Consecutive Login Streak
Table: logins (user_id, login_date)
WITH cte AS (
SELECT user_id,
login_date,
login_date -
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY login_date
) * INTERVAL '1 day' AS grp
FROM logins
)
SELECT user_id, COUNT(*) AS streak_days
FROM cte
GROUP BY user_id, grp
ORDER BY streak_days DESC;
📌 Question 17: Find Peak Sales Day of Every 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 *
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY DATE_TRUNC('month', sale_day)
ORDER BY revenue DESC
) rn
FROM daily_sales
) t
WHERE rn = 1;
📌 Question 18: Find Customers Who Ordered Every Month
Table: orders (customer_id, order_date)
WITH customer_months AS (
SELECT customer_id,
COUNT(DISTINCT DATE_TRUNC('month', order_date)) AS months_active
FROM orders
GROUP BY customer_id
),
total_months AS (
SELECT COUNT(DISTINCT DATE_TRUNC('month', order_date)) AS total_months
FROM orders
)
SELECT customer_id
FROM customer_months c
CROSS JOIN total_months t
WHERE c.months_active = t.total_months;
📌 Question 19: Find Top Selling Product Category
Tables: products (product_id, category) | sales (product_id, quantity)
SELECT category, SUM(quantity) AS total_sold
FROM sales s
JOIN products p ON s.product_id = p.product_id
GROUP BY category
ORDER BY total_sold DESC
LIMIT 1;
📌 Question 20: Calculate Median Salary
Table: employees (employee_id, salary)
SELECT PERCENTILE_CONT(0.5)
WITHIN GROUP (ORDER BY salary)
AS median_salary
FROM employees;
💡 Double Tap ❤️ For More