table
表名_new
as
select
*
from
表名
where
row_number<=10drop
table
表名。然后把表名表名_new改成原来的表名就行了。如果不能删,那么用一个临时表存一下,然后将表truncate,然后再倒回来。
设表名及结构为:TABLENAME(FIELD1,FIELD2,FIELD3)这样:
select
top
10
FIELD1,FIELD2,FIELD3
from
(
SELECT
SORTSTR=0,FIELD1,FIELD2,FIELD3
FROM
TABLENAME
union
SELECT
SORTSTR=1,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=2,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=3,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=4,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=5,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=6,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=7,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=8,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=9,FIELD1='',FIELD2='',FIELD3=''
union
SELECT
SORTSTR=10,FIELD1='',FIELD2='',FIELD3=''
)
a
order
by
SORTstr
思路是,1、查询中加一个排序字段,用来次空记录放到最后。
2、写出10个空记录查询与主表连接。
这样,无论主表有多少条记录,都能显示10条记录,不足的用空记录补充
语句看似很多,其实10行空记录只要写一行,其余复制即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)