数据库:twt001
数所表:asample
参考文章:分享一些不错的sql语句
(1)取前10条记录
select top 10 * from asample
(2)随机取出10条数据
select top 10 * from asample order by newid()
(3)选择从10到15的记录
select top 5 * from (select top 15 * from asample order by xh asc) table_别名 order by xh desc
(4)随机选择记录 :select newid()
newid()返回的是uniqueidentifier类型的唯一值。
order by newid()随机选取记录是如何进行的
newid()在扫描每条记录的时候都生成一个值, 而生成的值是随机的。 newid()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果也是不一样的。
原理是 把所有的ID出取然后用随机函数取出其中一个,然后用这个随机取到的ID去数据库里再取出记录,所有代价有点大。\
--随机排序
select * from asample order by newid()
(5)
一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段
select top 20 xh,je from asample order by je desc
select top 10 b.* from(select top 20 xh,je from asample order by je desc) a,asample b where b.xh = a.xh order by a.je desc
(6)限制返回的行数
使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。
Select TOP 2 *
FROM asample
Select TOP 20 PERCENT *
FROM asample