(转)top关键字与top表达式(SQLServer)

有时候我们需要想数据中写数据 declare@iint set@i=1 while@i30 begin
insertintotable(id)values(@i) set@i=@i+1 end

SQLServer
中,top也很有用,例如查询部分数据,还可以用表达式。其语法如下:

SELECT TOP number|percent column_name(s)
FROM table_name

 

1.select * from 成绩信息

澳门贵宾会注册送豪礼 1

 

 

  1. select top 10 * from 成绩信息

这样就可以选取成绩信息表中的前10行的数据了。

 澳门贵宾会注册送豪礼 2

澳门贵宾会注册送豪礼, 

3.select top 10 percent * from
成绩信息

总行数是73,那么就会选择10%行数的数据进行显示

 澳门贵宾会注册送豪礼 3

 

4.declare @i int

set @i=20

select top (@i) percent * from
成绩信息

声明了一个变量i为整型,然后对变量i复制为20,然后就可以限制20%行数的数据了。

 澳门贵宾会注册送豪礼 4

 

5.declare @i int

set @i=20

select top (@i)  * from 成绩信息

这样就是显示前20行的数据

 澳门贵宾会注册送豪礼 5

 

6.select * from 成绩信息 order by
分数

对显示出来的数据根据分数进行排序

澳门贵宾会注册送豪礼 6

 

 

7.select top (6)  * from 成绩信息 order by
分数

这样是根据分数排序之后只显示前六行,但是从上图可以看到第六个记录里面分数是74,后面几行的记录也是74,为了避免后面相同的数据会被遗漏的情况,就要使用with
ties

 澳门贵宾会注册送豪礼 7

 

select top (6) with ties  * from 成绩信息 order by 分数

使用with ties的时候后面需要紧跟order by子句,这样使用with
ties之后就可以将最后几条相同记录的信息都显示出来。就不会只是显示前6条记录了。

 澳门贵宾会注册送豪礼 8

转自:

发表评论

电子邮件地址不会被公开。 必填项已用*标注