SQL задачи
SQL задачи для подготовки к собеседованию. SQL тесты для проверки знаний. № 7065181110 SQL запросы к конкретной Базе данных с решением и разбором По вопросам рекламы: @anothertechrock
Больше📈 Аналитический обзор Telegram-канала SQL задачи
Канал SQL задачи (@sqlquestions) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 056 подписчиков, занимая 12 131 место в категории Технологии и приложения и 64 868 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 056 подписчиков.
Согласно последним данным от 24 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -30, а за последние 24 часа — -1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 13.83%. В первые 24 часа после публикации контент обычно набирает 5.73% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 391 просмотров. В течение первых суток публикация набирает 576 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 5.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как sql, sqlquestions, шапка, order_table, архитектура.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“SQL задачи для подготовки к собеседованию.
SQL тесты для проверки знаний.
№ 7065181110
SQL запросы к конкретной Базе данных с решением и разбором
По вопросам рекламы: @anothertechrock”
Благодаря высокой частоте обновлений (последние данные получены 25 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576WITH ranked_orders AS (
SELECT
*
, ROW_NUMBER() OVER (PARTITION BY _____ ORDER BY order_date DESC)
AS rn
FROM order_table
)
SELECT * FROM ranked_orders WHERE rn = 1;
Ответ под спойлером, но если хотите сперва проверить свою догадку, следующим постом опубликуем тест с вариантами ответов.
Правильный ответ ⤵️
customer_id
Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestionsSELECT
CONCAT(LEFT(first_name, 1), '.', LEFT(last_name, 1), '.') AS abbreviation
FROM customer;
Схема БД и код для генерации данных находятся в шапке канала.
Запрос не выдает число или конкретную категорию. Просто опишите результат своими словами в комментариях. А для тех, кто предпочитает тесты, опубликуем тест с вариантами ответа в следующем посте.
Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestionsimport osmnx as ox
# Загрузка данных о дорогах Москвы
G = ox.graph.graph_from_place("Moscow", network_type="drive")
# Отображение дорог на карте
moscow_gdf = ox.geocoder.geocode_to_gdf("Moscow")
fig, ax = ox.plot.plot_graph(G, show=False, close=False, bgcolor="#111111", edge_color="#ffcb00", edge_linewidth=0.3, node_size=0)
moscow_gdf.plot(ax=ax, fc="#444444", ec=None, lw=1, alpha=1, zorder=-1)
# Настройка границ карты
margin = 0.02
west, south, east, north = moscow_gdf.union_all().bounds
margin_ns = (north - south) * margin
margin_ew = (east - west) * margin
ax.set_ylim((south - margin_ns, north + margin_ns))
ax.set_xlim((west - margin_ew, east + margin_ew))
plt.show()
📁 2. Сохраняем геометрическое описание города в формате GeoJSON и данные о вершинах и рёбрах в формате CSV
with open('Moscow.geojson', 'w') as file:
file.write(moscow_gdf.to_json())
nodes = G.nodes(data=True)
with open('nodes.csv', 'a') as file:
file.write("id,lat,lonn")
for (node, data) in nodes:
file.write("%d,%f,%fn" % (node, data.get("y"), data.get("x")))
edges = G.edges(data=True)
def decode_maxspeed(maxspeed):
match maxspeed:
case str():
match maxspeed.lower():
case "ru:urban": return 60
case "ru:rural": return 90
case "ru:living_street": return 20
case "ru:motorway": return 110
case _: return int(maxspeed)
case list(): return min(list(map(decode_maxspeed, maxspeed)))
case _: return maxspeed
with open('edges.csv', 'a') as file:
file.write("src,dst,maxspeed,length,geometryn")
for (src, dst, data) in edges:
maxspeed = decode_maxspeed(data.get("maxspeed", 999))
length = float(data.get("length"))
geometry = shapely.wkt.dumps(data.get("geometry"))
file.write("%d,%d,%d,%f,%sn" % (src, dst, maxspeed, length, geometry))
3. Используем библиотеку GraphFrames для обработки графов на Apache Spark
from pyspark.sql import SparkSession
spark = SparkSession.builder
.config("spark.jars.packages", "graphframes:graphframes:0.8.4-spark3.5-s_2.12")
.master("local[*]")
.appName("GraphFrames")
.getOrCreate()
nodes = spark.read.options(header=True).csv("nodes.csv")
edges = spark.read.options(header=True).csv("edges.csv")
# Вычисление времени прохождения рёбер
edgesT = edges.withColumn("time", edges["length"] / edges["maxspeed"])
# Построение графа
from graphframes import *
g = GraphFrame(nodes, edgesT)
🧭 4. Ищем кратчайший путь по времени
например, от Измайлово до ЖК Зиларт
src = "257601812"
dst = "5840593081"
paths = g.shortestPaths(landmarks=[dst])
paths.filter(F.col("id") == src).show(truncate=False)
💡 Результат: 40 шагов от точки A до точки B.
Такой подход легко масштабируется на миллионы маршрутов. Используйте Spark и GraphFrames для построения логистических моделей, маршрутизации и городского планирования.
🚀 Хотите прокачаться в работе с Big Data? Изучайте Spark! Записывайтесь на курс Spark Developer от OTUS — учитесь на реальных данных и продвинутых кейсах: https://vk.cc/cMT1Hp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
