У меня есть запрос примерно такой:
SELECT
title, desc, date
FROM
tablename
ORDER BY
date ASC, title ASC;
Прекрасно работает, когда данные действительно имеют дату. Проблема в том, что отправка даты является необязательной, поэтому иногда я получаю 0000-00-00 в качестве даты, что приводит к неудачному расположению всех строк без даты сверху.
Итак, я попробовал это:
SELECT
title, desc, date
FROM
tablename
ORDER BY
date DESC, title ASC;
Какие работы, но не на самом деле - все элементы с датами (не 0000-00-00) отображаются в порядке убывания, за которыми следуют все элементы с 0000-00-00.
То, что я хочу сделать, это упорядочить по дате ASC, название ASC, но только если дата! = 0000-00-00, но если дата = 0000-00-00, тогда просто ЗАКАЗАТЬ название ASC на тех ( Я думаю, что объяснил это правильно).
Единственный способ, которым я могу думать, это не на основе SQL (либо 2 запроса, либо каждый запрос просто заполняет массив в памяти, а затем я сортирую с использованием PHP).
Есть ли SQL-запрос, который может это сделать?