わかりやすいタイトルが付いてくるのは難しいので、私が望むものを表現するためのより良い方法は、例を挙げていると思います。それははっきりしていない場合、それは両方の名前で発注する必要があり2つのvarcharカラムによるMySQLの注文
NAME | EMAIL
NULL | [email protected]
Bill | [email protected]
John | [email protected]
Mike | [email protected]
と:私は結果がなるようにクエリを注文したい
NAME | EMAIL
John | [email protected]
Mike | [email protected]
NULL | [email protected]
Bill | [email protected]
:のは、私は次を持つテーブルがあるとしましょうNAME列にその行のエントリがない場合は両方の優先順位を混在させます。したがって、NAMEがNULLの場合は、EMAILの値を使用してその行を他の行とソートしますが、NAMEがNULLでない場合はNAMEを使用し、EMAILはソートしません。
あなたが推測できるとおり、ORDER BY name ASC, email ASC
はこのトリックを行いません。私はこれをGoogleにどのようにしているのか分からないので、私はSOに目を向ける。前もって感謝します。
多くの回答がありましたが、これが私が見た最初のものです私がやり遂げたこととマッチしました(私は参加するためにいくつかのロジックを追加しましたが、ええ)。 – Orlando
まあ、他の人は慎重に読んでいない:)あなたの例に基づいて、ほとんどの答えはすべてのNULLが上に行くと仮定していましたが、あなたが必要とするものではないことははっきりしていました。 –