データベースからいくつかのフィールドを選択し (左結合を含む)、次のコマンドを使用して INT を含むフィールドで並べ替えることができました。
ORDER BY FIELD (t.type, '1','2','4','5','3')
これが表示される順序ですが、整数を含まないエントリもあり、NULL として返されます。それは問題ありませんが、必要な場所に NULL エントリを配置できないようです。
たとえば、次のようにリストの 2 番目に表示します。
ORDER BY FIELD (t.type, '1','NULL','2','4','5','3')
また
ORDER BY FIELD (t.type, '1','0','2','4','5','3')
等...
これを達成し、NULL t.type フィールドを持つエントリをリストの 2 番目に配置するにはどうすればよいでしょうか?
このメッセージを投稿して以来、高低を検索してきましたが、トピックに関するものは何も見つかりません.
どんな助けでも大歓迎です。
アップデート:
以下は、使用している完全な select ステートメントです。
select d.url, d.lid, d.title, d.description, d.date, d.hits, d.downloadratingsummary, d.totalvotes, d.totalcomments, d.filesize, d.version, d.homepage, d.ns_compat, d.ns_des_img, t.type from downloads_downloads d LEFT JOIN downloads_type t on d.lid = t.lid where cid=96 ORDER BY FIELD (t.type, 1,12,2,4,5,3), d.date DESC LIMIT 0,20