降順(desc)
大→小の順番だよ
最後→最初の順番だよ
値の種類が混在するときは気を付けてね
簡単に書くよ
降順(desc)(読:コウジュン 英:descending order)とは
5、4、3、2、1……のように、最初が一番大きくて、徐々に小さくなる順番のこと。
もしくは
z、y、x、w、v……のように、最後から最初に向かう順番のこと
です。
詳しく書くよ
「降りる順番」で「降順」です。
数字であれば、5、4、3、2、1……のように、徐々に値が小さくなります。
文字であれば、z、y、x、w、v……のように、最後から最初に向かう順番です。
ここまでは、大丈夫ですよね?
注意すべきは
1.文字と数字が混在するとき
2.NULL(何もないよ!の目印)が混ざるとき
の2つです。
考えるポイントは、3つあります。
以下の3つです。
1.数字が数字と認識されるか(それとも文字と認識されるか)
2.数字と文字はどちらが先か
3.NULLは最初か最後か
順番に見ていきましょう。
例えば、以下の5つの値があったとします。
降順に並べてください。
1、20、100、3、2
できましたか?
普通に考えれば、以下の並び順になるはずです。
1.100
2.20
3.3
4.2
5.1
数字として考えた場合は、これで正解です。
ですが、これを文字として捉えるとどうでしょう?
すべての数字を文字と捉えて、1文字目に注目してください。
「3」と「2」では「3」の方が大きいです。
「2」と「1」では「2」の方が大きいです。
よって、5つの値を文字と捉えて降順に並べると、以下のようになります。
1.3
2.20
3.2
4.100
5.1
同じ降順ですが、数字として並べたときと、順番が変わりましたよね。
これが1つ目のポイントである
1.数字が数字と認識されるか(それとも文字と認識されるか)
です。
次に
2.数字と文字はどちらが先か
の説明をします。
以下の5つの値を降順に並べてください。
1、c、a、3、e
さぁ、頑張って!
……あっ、終わりました?
あなたが並べたのは
1.e
2.c
3.a
4.3
5.1
でしょうか。
それとも
1.3
2.1
3.e
4.c
5.a
でしょうか。
一般的には
(大)文字→数字(小)
と並べることが多いはずです。
ですが、絶対の規則があるわけでは ありません。
(大)数字→文字(小)
と並べても、間違いとは言い切れないはずです。
よって、数字と文字(と記号)が、どの順番で並ぶかは意識しておいてください。
これが2つ目のポイントである
2.数字と文字はどちらが先か
です。
最後に
3.NULLは最初か最後か
について説明します。
NULLは「何も無いよ!」を表す目印です。
例えば、そうですね。
ピヨ太君が、お盆を持っています。
お盆の上にミカンが1つ乗っていれば「1」です。
お盆の上にミカンが3つ乗っていれば「3」です。
お盆の上にミカンが乗っていなければ「0」です。
お盆の上に乗っているミカンの数が数字を表しています。
この条件下において、お盆を持っていない状態がNULLです。
ピヨ子さんが「お盆に乗っているミカンの数が大きい順に並びなさい!」と言ったとしましょう。
そもそも、お盆を持っていないピヨ太君は、どこに並びましょうね?
一番前でしょうか?
それとも、一番後ろでしょうか?
厳密に考えると、お盆を持っていないピヨ太君は、仲間はずれです。
列には並べないでしょう。
ですが、それでは可哀想です。
そこで便宜上、
一番前か一番後ろ
に並ばせます。
ただし、前なのか後ろなのかの決まりは ありません。
並ばせる人の気分次第です。
例えば、以下の4つの値(数字とNULL)が あったとしましょう。
2、3、0、NULL
これを降順で並べると
1.3
2.2
3.0
4.NULL
か
1.NULL
2.3
3.2
4.0
に なります。
これが3つ目のポイントである
3.NULLは最初か最後か
です。
さて、ここまでを踏まえて、以下の5つの値を降順に並べてください。
2、a、10、c、NULL
いかがでしょう。
結構、迷いませんか?
1.c
2.a
3.10(←数字と認識)
4.2(←数字と認識)
5.NULL(←便宜上、最後)
や
1.NULL(←便宜上、最初)
2.c
3.a
4.2(←文字と認識)
5.10(←文字と認識)
など、いろいろな可能性があります。
基本的には
・大→小
・最後→最初
の順番が降順です。
ただし、文字と数字、数字と記号、文字とNULLのように、種類の違う値が混在する場合は、ローカルルールが適用されます。
どの種類の値が小さいとみなされるかは、その状況におけるルール次第です。
このローカルルールを意識しないでプログラムを作ると、哀しい目にあったりします。
ご注意ください。
なお、降順の逆、
・小→大
・最初→最後
の順番は「昇順」と言います。
せっかくなので、併せて覚えてください。
減るのが降順で、増えるのが昇順です。
一言でまとめるよ
まぁ「降順」って単語が出てきたら「大→小の順番、もしくは、最後→最初の順番なんだな~」と お考えください。






