Найти в Дзене
Информатика

Почему TikTok знает, что ты хочешь посмотреть дальше — и причём тут пять строк кода

Представь: ты открываешь TikTok. Через секунду лента уже знает, что тебе интереснее — кулинария или кастомные кеды. Spotify ставит следующий трек раньше, чем ты успел подумать. Wildberries показывает именно ту куртку, которую ты смотрел три дня назад на другом сайте. За всем этим — не магия и не «нейросеть, которая тебя читает». За всем этим стоит запрос к базе данных. Иногда буквально пять строк SQL. И вот здесь начинается самое интересное. Когда миллион треков, товаров или видео — как система выбирает, что показать первым? Сортировка. ORDER BY — один из самых недооценённых инструментов в SQL. Именно он определяет, кто окажется в топе, а кто уйдёт на двадцатую страницу, куда никто не доходит. SELECT name, rating
FROM tracks
ORDER BY rating DESC
LIMIT 10; Десять строк — и у тебя чарт. Именно так устроены большинство рейтингов, которые ты видишь каждый день: топы игр в Steam, популярные товары на маркетплейсах, треки в чартах. Это не редакция решает вручную. Это запрос. DESC — от больше
Оглавление
База данных управляет лентой рекомендаций
База данных управляет лентой рекомендаций

База данных — это не «таблички в Excel». Это власть над информацией

Представь: ты открываешь TikTok. Через секунду лента уже знает, что тебе интереснее — кулинария или кастомные кеды. Spotify ставит следующий трек раньше, чем ты успел подумать. Wildberries показывает именно ту куртку, которую ты смотрел три дня назад на другом сайте.

За всем этим — не магия и не «нейросеть, которая тебя читает». За всем этим стоит запрос к базе данных. Иногда буквально пять строк SQL.

И вот здесь начинается самое интересное.

Порядок решает всё

Сортировка решает, кто окажется в топе
Сортировка решает, кто окажется в топе

Когда миллион треков, товаров или видео — как система выбирает, что показать первым?

Сортировка. ORDER BY — один из самых недооценённых инструментов в SQL. Именно он определяет, кто окажется в топе, а кто уйдёт на двадцатую страницу, куда никто не доходит.

SELECT name, rating
FROM tracks
ORDER BY rating DESC
LIMIT 10;

Десять строк — и у тебя чарт. Именно так устроены большинство рейтингов, которые ты видишь каждый день: топы игр в Steam, популярные товары на маркетплейсах, треки в чартах. Это не редакция решает вручную. Это запрос.

DESC — от большего к меньшему. ASC — наоборот. Кажется банальным? Смени направление сортировки — и вместо хитов получишь аутсайдеров. Именно так аналитики ищут «проблемные зоны»: самые медленные доставки, самые низкие оценки, самые дорогие ошибки.

LIMIT: потому что никто не листает до конца

Постраничная выдача и контроль объёма данных
Постраничная выдача и контроль объёма данных

Ни один сервис не отдаёт тебе сразу всё. Netflix не загружает каталог из 15 000 тайтлов за раз. Instagram не показывает ленту с 2015 года целиком.

LIMIT — это про осознанное управление данными. Взять ровно столько, сколько нужно, не больше. Это и UX, и производительность, и архитектурное решение одновременно.

SELECT title, views
FROM videos
ORDER BY views DESC
LIMIT 20 OFFSET 40;

OFFSET — пропустить первые N строк. Вот и вся постраничная навигация, которую ты видишь на каждом сайте. Страница 3 — это просто LIMIT 20 OFFSET 40. ~~Сложная магия~~ обычная математика.

Один запрос с LIMIT и ORDER BY — это весь механизм «похожие товары», «рекомендуем также», «трендовое прямо сейчас».

DISTINCT: когда важна уникальность

Удаление дублей, выделение уникального
Удаление дублей, выделение уникального

Допустим, стартап хочет понять — в каких городах вообще есть их пользователи? Без DISTINCT ты получишь список из миллиона строк, где «Москва» повторяется 400 тысяч раз.

SELECT DISTINCT city
FROM users
ORDER BY city ASC;

Один оператор — и хаос превращается в чёткий список. DISTINCT убирает дубли и оставляет только суть.

Именно так аналитики в стартапах делают первые выводы о географии аудитории, уникальных сегментах, неожиданных рынках. Это не «учебный пример» — это реальный первый шаг в любом продуктовом исследовании.

Топ-N: механика, которая управляет вниманием

Контроль внимания через рейтинг
Контроль внимания через рейтинг

Рейтинги — это не просто списки. Это инструмент влияния 🎯

Топ-10 игр в магазине. Топ-5 курсов на платформе. Три «лучших предложения» в сравнении тарифов. Всё это — результат одного паттерна:

SELECT product_name, sales_count
FROM products
ORDER BY sales_count DESC
LIMIT 10;

Тот, кто контролирует запрос — контролирует, что окажется на виду. Поменяй сортировку, измени условие — и «топ» станет совершенно другим. Это и есть власть над данными.

Аналитики в финтехе, маркетплейсах и медиа работают с такими запросами ежедневно. Не потому что «так учили», а потому что именно это помогает принимать решения на основе данных, а не интуиции.

Что за этим стоит

SQL — это не про таблички. Это про умение задавать правильные вопросы большим массивам данных и получать точные ответы.

ORDER BY, LIMIT, DISTINCT — три инструмента, которые выглядят просто. Но именно они лежат в основе рекомендательных систем, аналитических дашбордов, продуктовых исследований и алгоритмов, которые ты используешь каждый день, даже не задумываясь.

Понять, как это работает — значит перестать быть просто пользователем цифровых продуктов и начать понимать, как они устроены изнутри.

🔥 Хочешь копнуть глубже? Полный учебный материал с детальными примерами, схемами и крутыми иллюстрациями ждёт тебя на нашем сайте!