order by 语句

A=> select * from Websites where alexa>15 and (country='CN' or country='USA') order by alexa;
 id |         name         |                        url                         | alexa |  country   
----+----------------------+----------------------------------------------------+-------+------------
  4 | WeiBo                | http://www.weibo.com/                              |    20 | CN        
  3 | CaiNiao              | http://www.runoob.com/                             |  4689 | CN        
(2 rows)


A=> select * from Websites where alexa>15 and (country='CN' or country='USA') order by id;
 id |         name         |                        url                         | alexa |  country   
----+----------------------+----------------------------------------------------+-------+------------
  3 | CaiNiao              | http://www.runoob.com/                             |  4689 | CN        
  4 | WeiBo                | http://www.weibo.com/                              |    20 | CN        

(2 rows)




A=> select * from Websites order by country,alexa;
 id |         name         |                        url                         | alexa |  country   
----+----------------------+----------------------------------------------------+-------+------------
  2 | TaoBao               | https://www.taobao.com/                            |    13 | CN        
  4 | WeiBo                | http://www.weibo.com/                              |    20 | CN        
  3 | CaiNiao              | http://www.runoob.com/                             |  4689 | CN        
  1 | Google               | https://www.google.com/                            |     1 | USA       
  5 | FaceBook             | http://www.facebook.com/                           |     3 | USA       
(5 rows)


A=> select * from Websites order by country,alexa,id;
 id |         name         |                        url                         | alexa |  country   
----+----------------------+----------------------------------------------------+-------+------------
  2 | TaoBao               | https://www.taobao.com/                            |    13 | CN        
  4 | WeiBo                | http://www.weibo.com/                              |    20 | CN        
  3 | CaiNiao              | http://www.runoob.com/                             |  4689 | CN        
  1 | Google               | https://www.google.com/                            |     1 | USA       
  5 | FaceBook             | http://www.facebook.com/                           |     3 | USA       
(5 rows)


ORDER BY 多列的时候,先按照第一个column name排序,在按照第二个column name排序;如上述教程最后一个例子:

  • 1)、先将country值这一列排序,同为CN的排前面,同属USA的排后面;
  • 2)、然后在同属CN的这些多行数据中,再根据alexa值的大小排列。
  • 3)、ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。 

ORDER BY语句用于对结果集进行排序。它可以根据一个或多个列对结果集进行排序,并且可以指定每个列的排序方式(升序或降序)。默认情况下,ORDER BY按照升序对记录进行排序。如果你想按照降序进行排序,可以使用DESC关键字。 在SQL中,ORDER BY语句的写法可以有多种形式。以下是几种常见的写法: 1. 通过字段名进行排序: ```sql SELECT 列列表 FROM 表名 ORDER BY 字段名1 [ASC|DESC], 字段名2 [ASC|DESC], ... ``` 例如,使用学生表中的sclass字段进行降序排序的写法是: ```sql SELECT * FROM student ORDER BY sclass DESC; ``` 2. 通过字段序号进行排序: ```sql SELECT 列列表 FROM 表名 ORDER BY 字段序号1 [ASC|DESC], 字段序号2 [ASC|DESC], ... ``` 注意,字段序号从1开始。例如,使用Score表中的Cno字段进行升序排序,然后在Cno相同的记录中,使用Degree字段进行降序排序的写法是: ```sql SELECT * FROM score ORDER BY 1 ASC, 3 DESC; ``` 3. 通过字段别名进行排序: ```sql SELECT 列列表 FROM 表名 ORDER BY 字段别名1 [ASC|DESC], 字段别名2 [ASC|DESC], ... ``` 字段别名是将字段名加上别名来代替原始字段名。例如,使用字段别名进行排序的写法是: ```sql SELECT t.* FROM student t ORDER BY t.sclass DESC; ``` 需要注意的是,ORDER BY语句中的排序方式有两种: 1. ASC(升序),这是默认的排序方式,可以省略不写。 2. DESC(降序),与升序相反。 在ORDER BY语句中,写在最前面的字段具有最高的排序优先级,也就是会先按照最前面的字段进行排序,然后再按照后面的字段进行排序。 综上所述,ORDER BY语句是用于对结果集进行排序的SQL语句,并且可以根据一个或多个列进行排序,可以指定每个列的排序方式。可以通过字段名、字段序号或字段别名来指定排序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值