sql order by 关键字用法


一、 sql order by 关键字简介

前文已经介绍了 sql获取数据的关键字
 select  
where
以及where组合条件 and or 的用法,
通过以上关键字,我们可以获取 我们所需的表格数据,
但是这些数据是按照系统默认的方式进行排序,有时可能不是我们所需的排序结果,
这时,我们就需要采用order by +列名+ asc/desc 的方式进行排序,得到我们所需的结果



例:
在进销存系统中,我们需按照先进先出的规则,对货物进行出库操作,此时我们就需要将库存数据按入库日期 由小到大进行排序,然后依次扣减相应库存信息



二、sql order by 语法及应用简介

2.1 单列名排序
select [列名1],[列名2],[列名3],… from [表名]
where [查询条件]
order by [列名] asc/desc
2.2 多列名排序
select [列名1],[列名2],[列名3],… from [表名]
where [查询条件]
order by [排序列名1],[排序列名2] asc/desc

注意事项:
不输入排序方式,系统默认会按照 asc 排列方式进行排序
asc 代表正序排列 由小到大
desc 代表倒序排列 由大到小
如果 存在两个排序列
先按照 ”排序列名1” 按照一个顺序进行排序,
如果排序列名1存在重复值,那么这些重复值再根据排序列名2 按照相同的顺序排列,
否则只按照排序列名1的结果展示


举例说明:

   
/*1 创建表A 并插入数据至表A*/
create table A(keyId int,info varchar(60), writeDate datetime)
insert into A values
(1,'a','2017-1-1'),(2,'b','2017-1-2'),(3,'c','2017-1-3'),
(11,'a','2017-2-1'),(12,'b','2017-2-2'),(13,'c','2017-2-3')

/*2 运行单列排序和双列排序*/

select keyId,INFO,writedate from A order by info asc 
/*单子段排序 存在重复值时,系统会按照内部顺序直接显示出*/


select keyId,INFO,writedate from A order by info,writeDate asc 
/*多子段排序 存在重复值时,系统会按照第一个字段排序,当第一个排序字段存在重复值时,再按照第二个排序字段进行排序*/



/*3 清除表A 删除表A*/
truncate table A
drop table A 
 

相关阅读:
sql and or 关键字简介
sql where 关键字简介
sql select distinct top 关键字简介
sql select
sql简介
sql 删除重复数据
如果查询MSSQL中重复列(group by having count)