> 数据库 > SQL Server 2008 >

Sql--order by、desc降序、top

---------通过order by 语句进行排序:

--1.降序order by 列名desc

--2.升序order by 列名   或order by 列名asc

--3.order by语句必须一定要放在整个sql语句的最后。

--4.根据多列进行排序

--5.可以按照表达式进行排序

--现根据英语成绩排序,再根据数学成绩排序(先按照英语成绩排序,当英语成绩相同的时候再按照数学成绩排序)

select * from TblScore order by tEnglish desc,tmath desc

 

select * from TblStudent order by tsage desc  --降序排序

select * from TblStudent order by tsage asc --升序排序

select * from TblStudent order by tsage  --默认就是升序排序

--top

--查询数学成绩最高的5名

select top 5 * from TblScore order by tMath desc

--获取数学成绩最低的5名

select top 5 * from TblScore order by tMath asc

--如果top后跟的不是数字,而是一个表达式一定要使用()把表达式括起来。

select top (2*2) * from TblScore order by tMath desc 

--查询出前35%数据。

select top 35 percent * from TblScore order by tMath desc

 

select*,平均分=(tEnglish+tmath)*1.0/2 from TblScore order by 平均分 desc

select*from TblScore order by (tEnglish+tmath)*1.0/2 desc

 

(责任编辑:IT)