Маркетинг хочет сначала увидеть пользователей, которые ни разу не заходили (значение last_login пустое), а затем — остальных по возрастанию даты входа (чем раньше последний вход, тем выше). Какой ORDER BY соответствует этому требованию?

AORDER BY last_login DESC NULLS LAST
BORDER BY last_login ASC NULLS LAST
CORDER BY last_login DESC NULLS FIRST
DORDER BY last_login ASC NULLS FIRST
Правильный ответ. Для подъёма пустых значений наверх используется NULLS FIRST, а направление ASC или DESC управляет порядком непустых дат.

Разбор

Требование «сначала пустые значения» означает NULLS FIRST, а требование «остальные по возрастанию даты» означает ASC. Итоговая запись ORDER BY last_login ASC NULLS FIRST ставит сверху пользователей без активности, а ниже — тех, кто заходил давно, в порядке роста даты. Это удобно, когда нужно приоритизировать неактивных пользователей в списках для реактивации.

Проверь себя · 1/3разбор после ответа
Таблицы orders_2024 и orders_2025 имеют одинаковую структуру. Некоторые заказы случайно попали в обе таблицы. Чем будут отличаться результаты SELECT * FROM orders_2024 UNION SELECT * FROM orders_2025 и того же запроса с UNION ALL?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»