SQL задачи
SQL задачи для подготовки к собеседованию. SQL тесты для проверки знаний. № 7065181110 SQL запросы к конкретной Базе данных с решением и разбором По вопросам рекламы: @anothertechrock
Ko'proq ko'rsatish📈 Telegram kanali SQL задачи analitikasi
SQL задачи (@sqlquestions) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 005 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 805-o'rinni va Rossiya mintaqasida 63 589-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 005 obunachiga ega bo‘ldi.
28 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -27 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 9.57% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.67% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 958 marta ko‘riladi; birinchi sutkada odatda 568 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 6 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent sql, sqlquestions, шапка, order_table, архитектура kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“SQL задачи для подготовки к собеседованию.
SQL тесты для проверки знаний.
№ 7065181110
SQL запросы к конкретной Базе данных с решением и разбором
По вопросам рекламы: @anothertechrock”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 29 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
SELECT
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