A公司有产品10个 B公司有产品10个... 10个公司有100个产品 分页时每页显示10条 搜索时 在分页中每页只能:每个公司只能有一个产品 也就是每页中不能有重复的公司
解决方案 »
- 请问sql 动态组串 如何同时支持兼容sqlserver oracle
- sql一个两表查询varchar无法转换int的
- 本表触发器,只能触发一次吗(不能类似“递归”循环吗)?
- win98下SQL SERVER 2000个人版和PB6.5连接的问题
- 求教一条SQL语句。查询某表中所有的主键、唯一索引以及这些主键、索引所包含的字段。
- 小弟是新手!
- 如何能通过SQL语句获得我需要的行显示方式?
- 求救:启动SQL SERVER时失败!
- SQL SERVER 中的 TEXT 和 image 如果用来存文本 ,会有什么区别。(null)
- 在CMD中运行:D:\MSDE\MSSQL$BOBO1\Binn\sqlservr.exe -c -f -sBOBO1 在执行过程中好像停了,谢谢
- 单条100万条数据是否适合数据表分区?
- 触发器无法实现,请求高手朋友帮助
from (
select *,row_number() over(partition by company order by product) as rn
from tb
) t
order by rn
drop table company
go
create table company (
companyname varchar(2),
product varchar(60)
)
--公司1
insert into company
select 'A','A1' union
select 'A','A2' union
select 'A','A3' union
select 'A','A4' union
select 'A','A5' union
select 'A','A6' union
select 'A','A7' union
select 'A','A8' union
select 'A','A9' union
select 'A','A10' --公司2
insert into company
select 'B','B1' union
select 'B','B2' union
select 'B','B3' union
。
--公司10
insert into company
select 'J','J1' union
select 'J','J2' union
select 'J','J3' union
select 'J','J8' union
select 'J','J9' union
select 'J','J10'
from(
select *,rn=row_number() over(partition by companyname order by getdate())
from company
) t
where rn=3 --3是页码/**
companyname product
----------- ------------------------------------------------------------
A A2
B B3
J J2
**/
按照楼主的提供的测试数据,第4页以后只有2条记录,第7页以后只有1条记录