Если бы жизнь была базой данных...
Недавно я делала пост о том, что можно свои аналитические задачи рассматривать под другим углом и тем самым создавать интерес к ним с жизненной точки зрения.
Собственно, вот этот пост
Ну и решила посмотреть как еще можно рассмотреть жизненные вопросы с помощью SQL.
Представим, что наша жизнь - это база данных. Какие бы запросы мы бы отправляли в нее.
1. Вытащить всех бывших, которых хочется забыть
SELECT name
FROM exes
WHERE toxic = true AND closure_date IS NULL;
Учимся фильтровать по логическим условиям. WHERE, AND, IS NULL — топовый набор для анализа любой базы, хоть о бывших, хоть о клиентах.
2. Найти друзей, которые не поздравляют с ДР, но лайкают все сторис
SELECT name
FROM friends
WHERE birthday_congrats_sent = false AND story_likes > 10;
Это пример фильтрации с несколькими условиями. Помогает выявлять "пассивно-активных" пользователей или клиентов, которые не покупают, но активно смотрят.
3. Вычислить, сколько дней прошло с того момента, как ты решил начать новую жизнь (О, Это сейчас мой актуальный запрос в мою базу жизни)
SELECT DATEDIFF(CURRENT_DATE, life_restart_date) AS days_since_change
FROM my_life
WHERE goal = 'новая жизнь';
Функция: DATEDIFF() — незаменимая для анализа сроков, дедлайнов, периодов активности и "давности решения похудеть".
4. Проверить, кто списал у тебя домашку в университете
SELECT name
FROM classmates
WHERE grade = my_grade AND answer_sheet = my_answer_sheet;
Сравнение по значениям в нескольких колонках — основа для поиска дублей, совпадений, мошенников и клонов.
5. Найти самый популярный заказ на завтрак в пятницу
SELECT breakfast_item, COUNT(*) AS popularity
FROM orders
WHERE weekday = 'Friday'
GROUP BY breakfast_item
ORDER BY popularity DESC
LIMIT 1;
GROUP BY, COUNT(*), ORDER BY, LIMIT — классика, чтобы искать лидеров продаж, тренды, а также самый популярный авокадо-тост среди миллениалов.
6. Кто из друзей пишет тебе только, когда им что-то нужно?
SELECT name, COUNT(*) AS messages
FROM messages
WHERE message_type = 'request'
GROUP BY name
HAVING COUNT(*) > 10;
HAVING — это фильтр уже после GROUP BY. Используется для анализа активных пользователей, продавцов, подписчиков и "друзей по интересу".
7. Найти самого счастливого сотрудника по количеству “ура” в сообщениях
SELECT employee_name, COUNT(*) AS hoorays
FROM messages
WHERE message_text LIKE '%ура%'
GROUP BY employee_name
ORDER BY hoorays DESC
LIMIT 1;
Используем LIKE для поиска ключевых слов, чтобы находить не только позитивных сотрудников, но и, скажем, негатив в отзывах.
8. Сколько раз ты заказывал еду после 23:00
SELECT COUNT(*) AS late_night_orders
FROM orders
WHERE HOUR(order_time) >= 23;
HOUR() помогает вытаскивать час из времени — отлично для анализа поведения по времени суток (например, когда писать рассылки или запускать рекламу).
9. Топ-3 песни, которые ты слушаешь, когда тебе плохо
SELECT song_title, COUNT(*) AS plays
FROM music_history
WHERE mood = 'плохо'
GROUP BY song_title
ORDER BY plays DESC
LIMIT 3;
То же, что и выше, только теперь уже можно строить рекомендации или узнавать, чем вдохновлять себя в трудные дни.
Вот так непринужденно можно переложить житейские запросы/вопросы на язык SQL.
Заходи в ТГ t.me/DailySoulBoost. Там просто и непринужденного порция мотивации ежедневно.
Что радует и поддерживает меня писать посты.