❄️ LeetCode Daily Challenge 📅 Day 19 of 50 Days SQL Challenge Continuing my SQL journey with another Hard-level SQL problem focused on session analytics and behavioral anomaly detection. 📌 Problem: Find Zombie Sessions 🔗 Problem Link: https://lnkd.in/gDEr9VEq 💡 Problem Summary: We need to identify zombie sessions — sessions where users appear active but show abnormal behavior patterns. A session qualifies as a zombie session if it satisfies ALL conditions: ✔ Session duration > 30 minutes ✔ At least 5 scroll events ✔ Click-to-scroll ratio < 0.20 ✔ No purchases during the session Finally, return the result ordered by: scroll_count (DESC), session_id (ASC) The idea was to aggregate event-level data into session-level metrics, then filter sessions based on behavioral thresholds. Another Hard SQL challenge completed — consistency continues 💪 Let’s grow one query at a time 🚀 #LeetCode #SQL #DataEngineering #Analytics #Database #WindowFunctions #DailyPractice #LearningInPublic #50DaysChallenge
SQL Challenge: Zombie Sessions Detection
More Relevant Posts
-
❄️ LeetCode Daily Challenge 📅 Day 28 of 50 Days SQL Challenge Continuing my SQL consistency journey with a Medium-level SQL problem focused on user behavior analysis and aggregation. 📌 Problem: Find Emotionally Consistent Users 🔗 Problem Link: https://lnkd.in/gwAXyQGJ 💡 Problem Summary: Identify users who are emotionally consistent based on their reactions: ✔ At least 5 reactions ✔ At least 60% of reactions are the same type ✔ Return dominant reaction + ratio 28 days of consistent SQL practice completed ✅ Consistency is turning into clarity 💪 Let’s grow one query at a time 🚀 #LeetCode #SQL #DataEngineering #Analytics #UserBehavior #DataAnalysis #WindowFunctions #DailyPractice #LearningInPublic #50DaysChallenge
To view or add a comment, sign in
-
-
❄️ LeetCode Daily Challenge 📅 Day 21 of 50 Days SQL Challenge Continuing my SQL consistency journey with a Medium-level SQL problem focused on joins and conditional aggregation. 📌 Problem : Market Analysis I 🔗 Problem Link : https://lnkd.in/gK6uAEEJ 💡 Problem Summary : For each user, we need to find: ✔ Their join date ✔ Number of orders they made as a buyer in 2019 Important: Include users with 0 orders Count only orders from 2019 21 days of SQL practice done ✅ Consistency is building real confidence now 💪 Let’s grow one query at a time 🚀 #LeetCode #SQL #DataEngineering #Analytics #Database #WindowFunctions #DailyPractice #LearningInPublic #50DaysChallenge
To view or add a comment, sign in
-
-
❄️ LeetCode Daily Challenge 📅 Day 30 of 50 Days SQL Challenge Today’s challenge was a deep dive into subscription analytics and churn prediction — something very relevant to real-world data scenarios. 📌 Problem: Find Churn Risk Customers 🔗Problem Link: https://lnkd.in/dw95yEPj 💡 Problem Breakdown: Identify churn risk customers who: ✔ Currently have an active subscription (last event is not cancel) ✔ Have at least one downgrade in their history ✔ Current plan revenue < 50% of their historical maximum ✔ Have been subscribed for at least 60 days 30 days of consistent SQL practice completed ✅ Daily practice is turning concepts into intuition 💪 Let’s grow one query at a time 🚀 Drop your approach below 👇 #LeetCode #SQL #DataEngineering #Analytics #ChurnAnalysis #CustomerRetention #SQLPractice #WindowFunctions #LearningInPublic #50DaysChallenge
To view or add a comment, sign in
-
-
Day 9/50 – #SQLChallenge 🚀 Solved “Rising Temperature” problem on LeetCode. ✅ Approach: Used SELF JOIN to compare rows within the same table ✅ Key Concept: Comparing consecutive records using date difference 💡 Advanced Insight: Since SQL doesn’t have a direct way to access the previous row, a SELF JOIN helps simulate this behavior by pairing each record with its previous day. This pattern is widely used in time-series data analysis. 🔍 Takeaway: Understanding how to compare rows across time is crucial for real-world scenarios like tracking growth, trends, and performance metrics. Consistency is compounding 📈 #SQL #LeetCode #Database #Joins #CodingChallenge #ProblemSolving #LearningInPublic #DeveloperJourney
To view or add a comment, sign in
-
-
🚀 Day 44 of My SQL Learning Journey Today I solved a SQL problem involving aggregation and distinct counting 🔥 🔹 Problem: Find number of unique leads and partners per day 🔗 Problem Link: https://lnkd.in/gXnubrbd 🔹 Solution: SELECT date_id, make_name, COUNT(DISTINCT lead_id) AS unique_leads, COUNT(DISTINCT partner_id) AS unique_partners FROM DailySales GROUP BY date_id, make_name; 🔹 Key Learning: Using multiple COUNT(DISTINCT) Grouping by multiple columns Real-world reporting queries 💡 SQL helps transform raw data into meaningful insights! Consistency continues 🚀 #SQL #LeetCode #90DaysOfCode #CodingJourney #DataAnalytics
To view or add a comment, sign in
-
-
❄️ LeetCode Daily Challenge 📅 Day 40 of 50 Days SQL Challenge Today’s challenge focused on subscription funnel analysis — a common real-world business analytics use case 📈 📌 Problem: Analyze Subscription Conversion 🔗Problem Link: https://lnkd.in/gSEZWxJb 💡 Problem Breakdown: Identify users who converted from free trial to paid subscription: ✔ Find users who moved from free_trial to paid ✔ Calculate average daily activity duration during free trial ✔ Calculate average daily activity duration during paid period ✔ Round averages to 2 decimal places 40 days of consistent SQL practice completed ✅ Daily practice is turning concepts into intuition 💪 Let’s grow one query at a time 🚀 💬 How would you approach this? Single query with conditional aggregation or separate CTEs? Drop your thoughts below 👇 #LeetCode #SQL #DataEngineering #AzureDataEngineer #ProductAnalytics #SQLPractice #LearningInPublic #50DaysChallenge #DataAnalytics
To view or add a comment, sign in
-
-
❄️ LeetCode Daily Challenge 📅 Day 29 of 50 Days SQL Challenge Today’s challenge was a perfect blend of time-based filtering, aggregation, and business logic — exactly what we deal with in real-world data scenarios. 📌 Problem: Find Golden Hour Customers 🔗Problem Link: https: https://lnkd.in/gPyRUtSG 💡 Problem Breakdown: Identify golden hour customers who: ✔ Placed at least 3 orders ✔ ≥ 60% of orders during peak hours (11:00-14:00 or 18:00-21:00) ✔ Have an average rating ≥ 4.0 29 days of consistent SQL practice completed ✅ Daily practice is turning concepts into intuition 💪 Let’s grow one query at a time 🚀 Drop your approach below 👇 #LeetCode #SQL #DataEngineering #Analytics #CustomerInsights #SQLPractice #WindowFunctions #LearningInPublic #50DaysChallenge #DataAnalytics
To view or add a comment, sign in
-
-
🚀 Day 19/50 – LeetCode SQL Challenge (Queries Quality & Percentage) Today’s problem focused on analyzing query performance by calculating quality and identifying poor queries using SQL. 📊 Key Concepts Used: • Aggregation (AVG, COUNT) • CASE WHEN (conditional logic) • Ratio calculation (rating / position) • ROUND() function 💡 Approach: Calculated query quality using AVG(rating / position) Used CASE WHEN to identify poor queries (rating < 3) Computed poor query percentage using average of conditional values Rounded both metrics to 2 decimal places for better readability 👉 Learned how to convert conditions into numerical values (0/1) and use AVG to directly calculate percentages. 🧠 Key Learning: AVG of 0/1 can be used to calculate percentage efficiently Combining aggregation with conditional logic simplifies complex problems Clean formatting (ROUND) makes results more professional 📈 Consistency in practice is building stronger SQL fundamentals every day #SQL #DataAnalytics #DataAnalyst #LearningInPublic #30DaysChallenge #SQLPractice #Analytics #CareerGrowth #Consistency #DataScience
To view or add a comment, sign in
-
-
🚀 Day 40 of My SQL Learning Journey Today I worked on a SQL problem involving aggregation and string manipulation 🔥 🔹 Problem: Group sold products by date and list them in sorted order 🔗 Problem Link: https://lnkd.in/gp6qVmNt 🔹 Solution: SELECT sell_date, COUNT(DISTINCT product) AS num_sold, GROUP_CONCAT(DISTINCT product ORDER BY product SEPARATOR ',') AS products FROM Activities GROUP BY sell_date; 🔹 Key Learning: Using COUNT(DISTINCT) for unique values Combining rows using GROUP_CONCAT() Sorting values inside aggregation 💡 SQL can generate clean reports directly from raw data! Consistency continues 🚀 #SQL #LeetCode #90DaysOfCode #DataAnalytics #CodingJourney
To view or add a comment, sign in
-
-
🚀 Day 28 of My SQL Learning Journey Today I explored Window Functions — one of the most powerful concepts in SQL! 🔹 Problem: Rank scores without gaps (same score → same rank) 🔗 Problem Link: https://lnkd.in/gsWJbr4m 🔹 Solution: SELECT score, DENSE_RANK() OVER (ORDER BY score DESC) AS rank FROM Scores; 🔹 Key Learning: - Introduction to Window Functions - Difference between "RANK()" and "DENSE_RANK()" - Handling duplicates in ranking problems 💡 Window functions are heavily used in real-world analytics and interviews! Slowly moving from basic queries → advanced SQL 🚀 #SQL #WindowFunctions #LeetCode #90DaysOfCode
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development