
正文
sqlserver第几行,sql查询第几行到第几行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
SQL SERVER 怎么排序,还有插入数据时候怎么指定第几行插入
'还有插入数据时候怎么指定记录插到表的第几行',像这样的需求我觉得不应该在插入的时候去实现,你可以设置一个字段表示顺序逻辑关系。
相关问答
Q1: sqlserver 如何增加一字段显示某行在表中是第几行
你用row_number函数可以实现。
具体例子:
select row_number() over (partition by 字段1 order by 字段2) r ,* from 表名
partition by
表示分组,所以如果要实现你的目的,字段1就需要是唯一的,不重复的。
Q2: sqlServer按字段顺序大小显示第n到第m行数据
这很正常,因为数据表某些设置了索引,在这种情况下,系统会自动按相应数据表设置的索引的排序规则排序数据行,原始的插入顺序就可能会被忽略(插入顺序与排序规则如果不一致的话)。就提问中的图片来看,PName应该设置了索引并规定了升序排序。如果要求数据表按插入时的数据行的顺序显示数据,除了自增ID字段外其他字段不得设置索引。其实数据表中显示的排序并不重要,只是方便查看数据而已。如果需要的话,我们几乎可以任意的排序规则在查询里运用ORDERBY子句排序数据行,非常方便的,没有必要在意数据表里的排序外观。
Q3: 求sql中 从第几行取几行的语句!
--从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)
SELECT TOP n-m+1 *
FROM Table
WHERE (id NOT IN (SELECT TOP m-1 id FROM Table ))
从TABLE表中取出第m到n条记录 (Exists版本)
SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists
(Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id )
Order by id
--m为上标,n为下标,例如取出第8到12条记录,m=8,n=12,Table为表名
Select Top n-m+1 * From Table
Where Id(Select Max(Id) From
(Select Top m-1 Id From Table Order By Id Asc) Temp)
Order By Id Asc
Q4: 如何确定所写sqlserver语句对应的是哪一行?
一个对各种版本都有效的方法是:
1、先大致判断一下出错部位,然后在该部位输入一行非法命令,如AA。
2、点击分析查询(对勾)或CTRL+F5.
3、你会看到AA这一行的报错和行号和原来出错的行号。
4、然后从AA这一行的行号数到原来出错的行号即可。





