昇順・降順でソートするASC・DESC
SQL Serverで昇順・降順でソートするにはORDER BYでASC・DESCを使用します。
- ASC・・・昇順(小さいもの順)
- DESC・・・降順(大きいもの順)
サンプルデータ
empno | empname |
D001 | KATOU |
D002 | YAMADA |
D003 | AOKI |
D004 | YAMADA |
例1. 番号順(昇順)に表示するパターン
--番号順 SELECT * FROM student ORDER BY empno ASC;
empno | empname |
D001 | KATOU |
D002 | YAMADA |
D003 | AOKI |
D004 | YAMADA |
SQLでは昇順(若い順)はASCを使います。
--番号順(ASC省略) SELECT * FROM student ORDER BY empno;
empno | empname |
D001 | KATOU |
D002 | YAMADA |
D003 | AOKI |
D004 | YAMADA |
ASCはデフォルト値なのでつけなくても構いません。
例2. 番号順(降順)に表示するパターン
--番号順(降順) SELECT * FROM student ORDER BY empno DESC;
empno | empname |
D004 | YAMADA |
D003 | AOKI |
D002 | YAMADA |
D001 | KATOU |
「ORDER BY empno DESC」で降順に並べることができました。
例3. 名前順、番号順(昇順)に表示するパターン
--名前順、番号順 SELECT empno,empname FROM student ORDER BY empname,empno ASC;
empno | empname |
D003 | AOKI |
D001 | KATOU |
D002 | YAMADA |
D004 | YAMADA |
ここでは複数列の並び替えをしました。「ORDER BY empname,empno ASC」で名前順、番号順に並び替えました。
「empno」の後のASCは省略しています。「ORDER BY empname ASC,empno ASC」としても同じです。
名前を降順、番号を昇順にする場合は、「ORDER BY empname DESC,empno ASC」とします。
例4. 列名を省略するパターン
--名前順、番号順 SELECT empno,empname FROM student ORDER BY 2,1 ASC;
empno | empname |
D003 | AOKI |
D001 | KATOU |
D002 | YAMADA |
D004 | YAMADA |
列名を省略するにはSELECTの順序を指定します。「SELECT EMPNO,EMPNAME」なので「EMPNO」→1,「EMPNAME」→2になります。
「ORDER BY EMPNAME,EMPNO」にする場合はORDER BY 2,1とします。
ASC・DESCをつかって昇順・降順でソートすることができました。
以上、SQL Serverで昇順・降順でソートするASC・DESCの使い方でした。
コメント