关于mysql中limit的用法和如何将其转换成sql server top的用法

jcccc 2008-12-12 10:09:24
首先我想知道这个语句:
“select top n * from TABLE_NAME where id not in (select top n id from TABLE_NAME )” 是不是从第(n+1)个记录开始选择,而到第2n个记录结束,总共选则n个?(还是说从第n个开始到第2n个结束,那样的话岂不是选择了n+1个记录?)

我想问问如何将下面这个my sql的limit语句转换成sql server top的语句:
(1).sqlStr="Select * From a"; /*a是一个table名*/
(2).sqlStr=sqlStr+"and ID='"+Id+"limit"+m+","+n;


如果仅仅将后面的"limit"+m+","+n 改为sql server语句应该是:select top n ID from a where ID not in (Select top m ID from a);
但(2)是个sqlStr语句的叠加,还有个and连接,我就不知道该如何结合(1)将(2)整个语句该成sql server top的语句.
请大家帮帮忙了,谢谢!
...全文
745 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
华芸智森 2011-10-25
  • 打赏
  • 举报
回复
SQLSERVER2005以上的版本 中有 ROWID .
a1871178252 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 jcccc 的回复:]
首先我想知道这个语句:
“select top n * from TABLE_NAME where id not in (select top n id from TABLE_NAME )” 是不是从第(n+1)个记录开始选择,而到第2n个记录结束,总共选则n个?(还是说从第n个开始到第2n个结束,那样的话岂不是选择了n+1个记录?)

我想问问如何将下面这个my sql的limit语句转换……
[/Quote]
-------------------------------
你好,我也在研究这问题,想问下 你写出来吗? 如果可以的话 QQ:1241016660 联系
sheath 2009-01-07
  • 打赏
  • 举报
回复
从第(n+1)个记录开始选择,而到第2n个记录结束,总共选则n个.

select top n ID from a where ID not in (Select top m ID from a) and ID='id'这样就可以了.想想SQL的定义就知道了.
jcccc 2008-12-12
  • 打赏
  • 举报
回复
我才进入社区,没有积分,发贴的时候设置分数时提示我没有发分的权利!大家不要这么现实吗?csdn是个交流的社区,难道没有分就没有回答吗?

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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