+ -
当前位置:首页 → 问答吧 → 一条sql语句咋个写

一条sql语句咋个写

时间:2011-12-28

来源:互联网

每次取10条数据,并且10条数据中不能有重复项。我一直对分页语句不太搞得懂,这条语句咋写哇。

表A  

字段 id nubmer people

其中number字段有重复数据,怎样每次取10条数据,并且number不重复呢?

作者: sdbtongtong   发布时间: 2011-12-28

按照number分组 用row_number()来分。

作者: fredrickhu   发布时间: 2011-12-28

按照number分组 用row_number()来分。

作者: fredrickhu   发布时间: 2011-12-28

按照number分组 用row_number()来分。

作者: fredrickhu   发布时间: 2011-12-28

select top 10 number from A
where number > 上次的number
group by number
order by number

作者: SSXYC   发布时间: 2011-12-28

SQL code

declare @表A table (id int,nubmer varchar(1),people varchar(1))
insert into @表A
select 1,'a','a' union all
select 2,'a','a' union all
select 3,'b','b' union all
select 4,'b','c' union all
select 5,'c','d' union all
select 6,'d','a' union all
select 7,'e','a' union all
select 8,'f','a' union all
select 9,'g','a' union all
select 10,'h','a' union all
select 11,'h','a' union all
select 12,'i','a' union all
select 13,'j','a' union all
select 14,'k','a' union all
select 15,'k','a' union all
select 16,'l','a' union all
select 17,'m','a' union all
select 18,'n','a' union all
select 19,'o','a' union all
select 20,'p','a' union all
select 21,'p','a' union all
select 22,'q','a' union all
select 23,'q','a' union all
select 24,'q','a' union all
select 25,'r','a' union all
select 26,'s','a' union all
select 27,'t','a' union all
select 28,'u','a' union all
select 29,'v','a' union all
select 30,'w','a' union all
select 31,'x','a' union all
select 32,'y','a' union all
select 33,'z','a' union all
select 34,'z','a' union all
select 35,'z','a'


declare @pageindex int 
set @pageindex=1 --可以改成2

;with maco as 
(
select row_number() over (order by id) as rid,* from @表A t
where id=(select min(id) from @表A where nubmer=t.nubmer))

select id,nubmer,people from maco 
where rid  between (@pageindex-1)*10+1 and 10*@pageindex
/*
id          nubmer people
----------- ------ ------
1           a      a
3           b      b
5           c      d
6           d      a
7           e      a
8           f      a
9           g      a
10          h      a
12          i      a
13          j      a
*/

作者: maco_wang   发布时间: 2011-12-28

引用 5 楼 maco_wang 的回复:
SQL code

declare @表A table (id int,nubmer varchar(1),people varchar(1))
insert into @表A
select 1,'a','a' union all
select 2,'a','a' union all
select 3,'b','b' union all
select 4,'b','c' union ……


经典

作者: SSXYC   发布时间: 2011-12-28