Маркетинг хочет сначала увидеть пользователей, которые ни разу не заходили (значение 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 ставит сверху пользователей без активности, а ниже — тех, кто заходил давно, в порядке роста даты. Это удобно, когда нужно приоритизировать неактивных пользователей в списках для реактивации.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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