次のようなクエリがあります。
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クエリはありますか?