このコードの部分はどのように機能しますか?ORDER BY CASE句は次のコードでどのように機能しますか?
ORDER BY
CASE WHEN subject IN ('Chemistry','Physics') THEN 1 ELSE 0 END,
subject,
winner;
このコードの部分はどのように機能しますか?ORDER BY CASE句は次のコードでどのように機能しますか?
ORDER BY
CASE WHEN subject IN ('Chemistry','Physics') THEN 1 ELSE 0 END,
subject,
winner;
まず、サブジェットが化学または物理であるかどうかを確認します。 それは、被験者が「化学」や「物理学」のいずれかが含まれていない場合、ソートスコアが1
になりますない場合、スコアは0
した後、それがスコアで結果をソートするようになります化学や物理を含む結果は、それが含まれていないものが最初に来るでしょう。
ほとんど手に入れました。あなたは化学や物理を含む結果が最初に来て、次に来るものは来ないと言います。しかし、コードは最後に化学と物理学を与えます –
ケースの結果で注文してから、次に受賞します。
件名と受賞者の順に、化学または物理学でない行が最初に表示されます。その後、化学、そして物理学。
お試しください。
私は、これが何をしたい、それがデフォルトでASC SELECT winner, subject FROM nobel WHERE yr = '1984' AND subject IN ('Chemistry','Physics') ORDER BY CASE;
ですされているので0年代が最初に来ると思います。化学または物理学ではないそれらの科目は、科目別にアルファベット順に、次に名称順に結果の最初に表示されます。次に、ケミストリーはアルファベット順に各科目の各受賞者との物理学を行います。単純に化学を入れてみると、物理は最後の2つの科目になりますが、他のすべてのトピックはそれらの2つ前にアルファベット順にリストされます。 – xQbert
こんにちは、歓迎してStackOverflow。 http://stackoverflow.com/help/mcveと特に:http://stackoverflow.com/help/how-to-ask あなたの質問は有効かもしれませんが、それはタイトルだけでなく、質問自体を本文に含めるといいですね。 – derM
@xQbert助けてくれました。ありがとうございました。 –