SQL 语句:
SQLServer 2005:
-- 查询第3页的数据,页大小为10select top 10 *
from(
select *, ROW_NUMBER() over(order by id asc) rn
from person
)t where t.rn > (3-1) * 10
^此处的t不能省,否则语法错误
-- 查询满足记录的最后10条
select *
from(
select *, ROW_NUMBER() over(order by id asc) rn
from person
)a where a.rn > (
(select max(t.rn)
from(
select *, ROW_NUMBER() over(order by id asc) rn
from person
) t ) -10 )
-- 查询满足条件的前10条
select top 10 *
from(
select *, ROW_NUMBER() over(order by id asc) rn
from person
) t
-- 删除重复记录, group by 后面需列出所有用来判断是否重复的列名
delete from test_table
where id not in (
select min(id) from test_table group by age, name, gender
)
-- 删除相同名字下,年龄也相同的多余记录
delete from test_table
where id not in (
select min(id) from test_table group by age, name
)