Data Analytics
Perfect channel to learn Data Analytics Learn SQL, Python, Alteryx, Tableau, Power BI and many more For Promotions: @coderfun @love_data
Show more๐ Analytical overview of Telegram channel Data Analytics
Channel Data Analytics (@sqlspecialist) in the English language segment is an active participant. Currently, the community unites 109 620 subscribers, ranking 1 126 in the Technologies & Applications category and 2 380 in the India region.
๐ Audience metrics and dynamics
Since its creation on ะฝะตะฒัะดะพะผะพ, the project has demonstrated rapid growth, gathering an audience of 109 620 subscribers.
According to the latest data from 18 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 686 over the last 30 days and by -13 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 3.27%. Within the first 24 hours after publication, content typically collects 1.44% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 581 views. Within the first day, a publication typically gains 1 584 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 8.
- Thematic interests: Content is focused on key topics such as row, sql, analytic, analyst, visualization.
๐ Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
โPerfect channel to learn Data Analytics
Learn SQL, Python, Alteryx, Tableau, Power BI and many more
For Promotions: @coderfun @love_dataโ
Thanks to the high frequency of updates (latest data received on 19 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
SELECT MAX(salary) AS second_highest_salary
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
โญ Using Window FunctionSELECT salary
FROM (
SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rnk
FROM employees
) t
WHERE rnk = 2;
โ
17. Explain INNER JOIN vs LEFT JOIN vs FULL JOIN with examples for employees and departments.
โญ INNER JOIN โ Only matching recordsSELECT e.name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id;
โญ LEFT JOIN โ All employees + matching departmentsSELECT e.name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;
โญ FULL JOIN โ All records from both tablesSELECT e.name, d.department_name
FROM employees e
FULL JOIN departments d ON e.department_id = d.id;
โ
18. Find and remove duplicate records using CTE + ROW_NUMBER().
โญ Find DuplicatesWITH cte AS (
SELECT *, ROW_NUMBER() OVER(PARTITION BY email ORDER BY id) rn
FROM employees
)
SELECT * FROM cte WHERE rn > 1;
โญ Remove DuplicatesWITH cte AS (
SELECT *, ROW_NUMBER() OVER(PARTITION BY email ORDER BY id) rn
FROM employees
)
DELETE FROM cte WHERE rn > 1;
โ
19. Explain WHERE vs HAVING with GROUP BY. Show department-wise avg salary > 50k.
๐ Difference
WHERE โ filter before grouping
HAVING โ filter after groupingSELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 50000;
โ
20. Explain RANK vs DENSE_RANK vs ROW_NUMBER partitioned by department ordered by salary.SELECT name, department_id, salary,
ROW_NUMBER() OVER(PARTITION BY department_id ORDER BY salary DESC) rn,
RANK() OVER(PARTITION BY department_id ORDER BY salary DESC) rnk,
DENSE_RANK() OVER(PARTITION BY department_id ORDER BY salary DESC) drnk
FROM employees;
โ
21. Find top 5 products by total sales using GROUP BY + LIMIT.SELECT product_id, SUM(sales_amount) AS total_sales
FROM sales
GROUP BY product_id
ORDER BY total_sales DESC
LIMIT 5;
โ
22. Write a self join to show employee name and manager name.SELECT e.name AS employee, m.name AS manager
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.employee_id;
โ
23. Handle NULL salaries using COALESCE, IS NULL, IFNULL.
โญ Using COALESCESELECT name, COALESCE(salary, 0) AS salary
FROM employees;
โญ Using IS NULLSELECT * FROM employees WHERE salary IS NULL;
โ
24. Pivot sales data by month using CASE statement.SELECT
SUM(CASE WHEN month = 'Jan' THEN sales ELSE 0 END) AS Jan,
SUM(CASE WHEN month = 'Feb' THEN sales ELSE 0 END) AS Feb,
SUM(CASE WHEN month = 'Mar' THEN sales ELSE 0 END) AS Mar
FROM sales;
โ
25. Subquery vs JOIN โ which is faster? Why?
JOIN is usually faster, subquery is easier to read.
โ
26. Write a recursive CTE for company hierarchy (CEO โ managers โ employees).WITH RECURSIVE emp_hierarchy AS (
SELECT employee_id, name, manager_id
FROM employees
WHERE manager_id IS NULL
UNION ALL
SELECT e.employee_id, e.name, e.manager_id
FROM employees e
JOIN emp_hierarchy h ON e.manager_id = h.employee_id
)
SELECT * FROM emp_hierarchy;
โ
27. Explain clustered vs non-clustered indexes. When to use each?
โญ Clustered Index: physically sorts table data
โญ Non-Clustered Index: separate structure pointing to data
SQL Resources: https://whatsapp.com/channel/0029VanC5rODzgT6TiTGoa1v
Double Tap โฅ๏ธ For More=TRIM(A1)
- CLEAN() โ removes non-printable characters =CLEAN(A1)
- Remove Duplicates โ Data โ Remove Duplicates
- Text to Columns โ split data
- Find & Replace (Ctrl+H) โ fix values
- Filter โ remove blanks or errors
2๏ธโฃ Absolute vs Relative References
Relative (A1) โ changes when copied
Absolute ($A$1) โ stays fixed
When to use:
- Relative โ normal calculations
- Absolute โ fixed values (tax rate, constants)
3๏ธโฃ Create PivotTable for Sales Analysis
Steps:
1. Select data
2. Insert โ PivotTable
3. Drag: Region โ Rows, Product โ Columns, Sales โ Values
Used for fast data summarization.
4๏ธโฃ VLOOKUP Formula + #N/A Fix
Formula: =VLOOKUP(A2, Sheet2!A:B, 2, FALSE)
Fix #N/A:
- Check lookup value exists
- Match data types
Use: =IFERROR(VLOOKUP(A2, A:B, 2, FALSE),"Not Found")
5๏ธโฃ INDEX-MATCH vs VLOOKUP
VLOOKUP: =VLOOKUP(A2,A:B,2,FALSE)
INDEX-MATCH: =INDEX(B:B, MATCH(A2,A:A,0))
โ
Why INDEX-MATCH?
- Faster for large data
- Works left lookup
- More flexible
6๏ธโฃ COUNTIF vs SUMIF vs COUNTIFS
COUNTIF โ count condition =COUNTIF(A:A,"East")
SUMIF โ sum condition =SUMIF(A:A,"East",B:B)
COUNTIFS โ multiple conditions =COUNTIFS(A:A,"East",B:B,">500")
7๏ธโฃ Goal Seek
Used for what-if analysis.
Steps:
1. Data โ What-if Analysis โ Goal Seek
2. Set cell โ target value
3. Change variable cell
Example: target revenue calculation.
8๏ธโฃ Conditional Formatting Top 10%
Steps: Select data
Home โ Conditional Formatting
Top/Bottom Rules โ Top 10%
9๏ธโฃ Dynamic Dashboard + Slicers
Create PivotTable
Insert โ Slicer
Insert โ Timeline (for dates)
Connect slicers to multiple visuals
Used for interactive dashboards.
๐ SUMPRODUCT (Multi-condition sum)
=SUMPRODUCT((A2:A10="East")(B2:B10>500)C2:C10)
Used for weighted or multiple-condition calculations.
1๏ธโฃ1๏ธโฃ What is Power Query?
Excelโs ETL tool.
Steps:
- Get Data โ Load data
- Remove columns
- Change types
- Remove duplicates
- Load cleaned data
Used for automation and transformation.
1๏ธโฃ2๏ธโฃ Freeze Panes vs Split Panes
Freeze Panes โ lock rows/columns while scrolling
Split Panes โ divide screen into sections
1๏ธโฃ3๏ธโฃ XLOOKUP vs VLOOKUP
XLOOKUP: =XLOOKUP(A2,A:A,B:B)
โ
Advantages:
- Left lookup
- No column index
- Default exact match
- Handles errors
1๏ธโฃ4๏ธโฃ Circular References Fix
Occurs when formula refers to itself.
Fix:
Formulas โ Error Checking โ Circular References
Correct formula logic
1๏ธโฃ5๏ธโฃ Data Validation + Named Range
Steps:
1. Formulas โ Define Name
2. Data โ Data Validation โ List
3. Select named range
Used for dropdown lists.
Excel Resources: https://whatsapp.com/channel/0029VaifY548qIzv0u1AHz3i
Double Tap โฅ๏ธ For MoreSELECT DISTINCT column_name
FROM employees;
๐ Returns unique records but does not delete duplicates.
โ
2๏ธโฃ Using GROUP BY (to identify duplicates)
SELECT name, COUNT(*)
FROM employees
GROUP BY name
HAVING COUNT(*) > 1;
๐ Helps find duplicate records.
โ
3๏ธโฃ Delete Duplicates Using ROW_NUMBER() (Most Important โญ)
(Keeps one record and deletes others)
DELETE FROM employees
WHERE id IN (
SELECT id FROM (
SELECT id,
ROW_NUMBER() OVER (
PARTITION BY name, salary
ORDER BY id
) AS rn
FROM employees
) t
WHERE rn > 1
);
๐ง Logic Breakdown:
- DISTINCT โ shows unique records
- GROUP BY โ identifies duplicates
- ROW_NUMBER() โ removes duplicates safely
โ
Use Case: Data cleaning, ETL processes, data quality checks.
๐ก Tip: Always take a backup before deleting duplicate records.
๐ฌ Tap โค๏ธ for more!SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 70000;
๐ Q2. Count employees in each department having more than 5 employees.
๐๏ธ Table: "employees(emp_id, name, department_id)"
โ
Answer:
SELECT department_id, COUNT(*) AS total_employees
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 5;
๐ Q3. Find the department with the highest total salary.
๐๏ธ Table: "employees(emp_id, department_id, salary)"
โ
Answer:
SELECT department_id
FROM employees
GROUP BY department_id
ORDER BY SUM(salary) DESC
LIMIT 1;
๐ Q4. Get departments where the minimum salary is greater than 30,000.
๐๏ธ Table: "employees(emp_id, department_id, salary)"
โ
Answer:
SELECT department_id, MIN(salary) AS min_salary
FROM employees
GROUP BY department_id
HAVING MIN(salary) > 30000;
๐ Q5. Find the difference between highest and lowest salary in each department.
๐๏ธ Table: "employees(emp_id, department_id, salary)"
โ
Answer:
SELECT department_id, MAX(salary) - MIN(salary) AS salary_difference
FROM employees
GROUP BY department_id;
Double Tap โฅ๏ธ For More
Available now! Telegram Research 2025 โ the year's key insights 
