特别的MSSQL 查询

在查询结果前加上行号

select row_number() over (order by a_field_name) as rowid, other_fields
from a_table_name
上面的语句加上 where条件 rowid between 21 and 30 可以输出指定的那些行,可用于分页显示

分组记序号,PARTITION BY列变化后row_number()就从1重新计数
select row_number() over (PARTITION BY group_fields order by a_field_name) as rowid, other_fields
from a_table_name

随机取10条数据:
select top 10 *from a_table_name
order by newid()
随机取百分之10的数据:
select top 10 percent *
from a_table_name
order by newid()