联合主键,取第m到第n条数据

jjcl521 2011-09-15 09:21:15
有一个A表,字段 A1 A2 A3 A4...

A1 A2是联合主键

需求:查询A表第10条到第20条数据

...全文
69 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-09-15
  • 打赏
  • 举报
回复
你既然有主键,就按主键排序来操作。


select top 10 * from (select top 20 * from a inner join b on a.id=b.id order by 主键 ) order by 主键 desc
WWWWA 2011-09-15
  • 打赏
  • 举报
回复
关键是not exists,
select top 10 * from A b where a.A1=b.A1 and a.A2=b.A2 order by A1,A2
是存在记录的,当然没有返回记录
jjcl521 2011-09-15
  • 打赏
  • 举报
回复



select * from A a where not exists(select top 10 * from A b where a.A1=b.A1 and a.A2=b.A2 order by A1,A2) order by A1,A2

我这样为什么取不出,除过Top 10 的数据
我查询的结果是空
WWWWA 2011-09-15
  • 打赏
  • 举报
回复
必须加入自增ID才能排序
jjcl521 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwb 的回复:]

有无唯一标识的字段,比如自增ID
select top 10 * from (select top 20 * from tt order by ID ) order by ID desc
[/Quote]

没有唯一的表示,两个子都是联合主键,单个字段都有重复
wwwwb 2011-09-15
  • 打赏
  • 举报
回复
有无唯一标识的字段,比如自增ID
select top 10 * from (select top 20 * from tt order by ID ) order by ID desc

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧