首页 > 数据库 > > Gauss 100 数据查询之ORDER BY子句
使用ORDER BY子句对查询语句返回的行根据指定的列进行排序。如果没有ORDER BY子句,则多次执行的同一查询将不一定以相同的顺序进行行的检索。
ORDER BY { column_name | number } [ ASC | DESC ] [ , ... ]
ORDER BY语句默认按照升序对记录进行排序。如果希望按照降序对记录进行排序,请使用DESC关键字。
示例1:查看PU_CLERK部门所有职员的信息,查询结果按照工资降序排列。
SELECT *
FROM staffs
WHERE employment_id = 'PU_CLERK'
ORDER BY salary DESC;
STAFF_ID FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE EMPLOYMENT_ID SALARY COMMISSION_PCT MANAGER_ID SECTION_ID
---------------------------------------- -------------------- ------------------------- ------------------------- -------------------- ---------------------- ------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------------------------------
115 Alexander Khoo AKHOO 515.127.4562 1995-05-18 00:00:00 PU_CLERK 3100 114 30
116 Shelli Baida SBAIDA 515.127.4563 1997-12-24 00:00:00 PU_CLERK 2900 114 30
117 Sigal Tobias STOBIAS 515.127.4564 1997-07-24 00:00:00 PU_CLERK 2800 114 30
118 Guy Himuro GHIMURO 515.127.4565 1998-11-15 00:00:00 PU_CLERK 2600 114 30
119 Karen Colmenares KCOLMENA 515.127.4566 1999-08-10 00:00:00 PU_CLERK 2500 114 30
5 rows fetched.
示例2:从staffs表中查询信息,查询结果先按部门编号升序排列,然后按收入降序排列,之后last_name按字母序升序排列。
SELECT last_name, section_id, salary
FROM staffs
ORDER BY section_id ASC, salary DESC, last_name;
LAST_NAME SECTION_ID SALARY
------------------------- ---------------------------------------- ----------------------------------------
Whalen 10 4400
Hartstein 20 13000
Fay 20 6000
Raphaely 30 11000
Khoo 30 3100
Baida 30 2900
Tobias 30 2800
Himuro 30 2600
Colmenares 30 2500
Mavris 40 6500
Fripp 50 8200
Weiss 50 8000
Kaufling 50 7900
Vollman 50 6500
Mourgos 50 5800
Sarchand 50 4200
Bull 50 4100
Bell 50 4000
Everett 50 3900
Chung 50 3800
Dilly 50 3600
Ladwig 50 3600
Rajs 50 3500
Dellinger 50 3400
Bissot 50 3300
Mallin 50 3300
McCain 50 3200
Nayer 50 3200
Stiles 50 3200
Taylor 50 3200
Davies 50 3100
Fleaur 50 3100
Walsh 50 3100
...
107 rows fetched.
示例3:示例2也可以写成如下的使用位置表示法的等效语句。其中数字表示SELECT所选的第几个字段。
SELECT last_name, section_id, salary
FROM staffs
ORDER BY 2 ASC, 3 DESC, 1;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3126525/ ,如需转载,请注明出处,否则将追究法律责任。