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) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 35 942 مشتركاً، محتلاً المرتبة 3 613 في فئة التكنولوجيات والتطبيقات والمرتبة 17 732 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 35 942 مشتركاً.
بحسب آخر البيانات بتاريخ 30 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 45، وفي آخر 24 ساعة بمقدار 0، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 6.57%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 3.47% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 361 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 246 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 11.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل sql, индекс, postgres, index, sqlite.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 31 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
name = "Alice'; DROP TABLE accounts; --"
query = f"SELECT * FROM accounts WHERE name = '{name}'"
conn.sql(query)
💥 И вот таблица accounts удалена!
Почему так?
Потому что строка с именем вставляется как есть и воспринимается как часть SQL-запроса.
✅ Правильный способ — использовать параметры:
name = "Alice'; DROP TABLE accounts; --"
query = "SELECT * FROM accounts WHERE name = ?"
conn.sql(query, params=(name,))
✔ Имя ищется как текст, база остаётся в безопасности.
👉 Запомни: никогда не вставляй пользовательские данные напрямую в SQL.
Используй параметризованные запросы — это надёжная защита от SQL-инъекций.
@sqlhub
pip install chromadb
# или
npm install chromadb
chroma run --path ./chroma_db
🧩 Пример на Python:
import chromadb
client = chromadb.Client()
col = client.create_collection("docs")
col.add(documents=["Doc1","Doc2"], ids=["1","2"])
res = col.query(query_texts=["найди похожее"], n_results=1)
▪Github
▪Colabpandas.read_sql и вернуть подставные данные.
Пример функции:
def query_user_data(user_id):
query = f"SELECT id, name FROM users WHERE id = {user_id}"
return pd.read_sql(query, "postgresql://localhost/mydb")
Тест с моком:
from unittest.mock import patch
import pandas as pd
@patch("pandas.read_sql")
def test_database_query_mocked(mock_read_sql):
mock_read_sql.return_value = pd.DataFrame(
{"id": [123], "name": ["Alice"]}
)
result = query_user_data(user_id=123)
assert result["name"].iloc[0] == "Alice"
Теперь вместо запроса в реальную базу тест подставляет фейковые данные. Так можно проверить бизнес-логику функции быстро и надёжно.
@sqlhubuuidv7() — UUID с временной сортировкой
- Сохранение статистики планировщика при мажорных апгрейдах
- Поддержка OAuth 2.0, улучшения TLS и безопасности
- Новый протокол взаимодействия клиентов и утилит — v3.2
🟠 Релиз: https://www.postgresql.org/about/news/postgresql-18-released-3142/
conn.execute("BEGIN TRANSACTION")
try:
conn.execute("UPDATE accounts SET balance = balance - 200 WHERE name = 'Alice'")
conn.execute("UPDATE accounts SET balance = balance + 200 WHERE name = 'Bob'")
conn.execute("COMMIT")
except:
conn.execute("ROLLBACK")
🔹 Atomicity — либо всё, либо ничего
🔹 Consistency — база не ломается
🔹 Isolation — параллельные операции не мешают
🔹 Durability — данные не теряются
🛡 ACID гарантирует надёжность даже при сбоях.SELECT до оптимизации запросов и реальных кейсов.
🔗 Репозиторий здесь: https://github.com/DataWithBaraa/sql-ultimate-course
Сохраняй, проходи и прокачивай SQL 💡
@sqlhubQUALIFY (в Snowflake, BigQuery, DuckDB, Trino):
SELECT category_id, product_id, price
FROM products
QUALIFY ROW_NUMBER() OVER (PARTITION BY category_id ORDER BY price DESC) <= 2;
👉 Результат: по каждой категории вернутся только два товара с наибольшей ценой.
Этот приём делает запрос короче и понятнее, убирая необходимость во вложенных подзапросах. Если вы используете СУБД с поддержкой QUALIFY, берите на вооружение.DISTINCT ON (PostgreSQL):
SELECT DISTINCT ON (customer_id)
customer_id, order_id, created_at
FROM orders
ORDER BY customer_id, created_at DESC;
👉 Результат: по каждому customer_id вернётся только одна строка — с самым свежим заказом.
Очень компактная и быстрая альтернатива оконным функциям или JOIN-ам.DISTINCT ON, который позволяет взять первую строку в каждой группе по определённому полю.
SELECT DISTINCT ON (customer_id)
customer_id,
order_date,
amount
FROM orders
ORDER BY customer_id, order_date DESC;
🔎 Этот запрос вернёт последний заказ каждого клиента без лишних подзапросов или JOIN.
⚡ Работает очень быстро и удобно, если нужно найти «самый первый» или «самый последний» элемент в группе.
@sqlhubWINDOW FUNCTIONS — они считаются построчно, не сворачивая данные.
SELECT
customer_id,
order_date,
amount,
SUM(amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
) AS running_total
FROM orders;
🔎 Здесь для каждого клиента мы получаем накопительную сумму по мере добавления заказов.
Оконные функции позволяют легко строить кумулятивные метрики, рейтинги и скользящие средние прямо в одном запросе.
@sqlhub